如何解决我刚刚在 Debian 上安装了 hexo 静态站点生成器并运行了 hexo 服务器来查看,但它给出了一个 TypeError
我不确定我是否做错了什么。这就是我所做的一切
我按照文档进行安装。
我预装了 git 和 nodejs,为了安装 hexo cli,我运行了这个,
sudo npm install -g hexo-cli
然后我通过运行 hexo -v
检查是否安装了 hexo,它显示了版本和所有内容,这就是它显示的内容。
hexo-cli: 4.2.0
os: Linux 4.19.0-14-amd64 linux x64
http_parser: 2.9.4
node: 10.24.0
v8: 6.8.275.32-node.59
uv: 1.24.1
zlib: 1.2.11
brotli: 1.0.7
ares: 1.14.0
modules: 64
nghttp2: 1.41.0
napi: 7
openssl: 1.1.1d
icu: 63.1
unicode: 11.0
cldr: 34.0
tz: 2018e
然后继续使用此命令创建一个名为 hexosite 的新文件夹,
hexo init hexosite
它创建了文件夹和所有内容。所以为了看看是否一切正常,我跑了
hexo server
。并提出了这个错误,我没有在任何地方改变任何东西。这是错误信息。
INFO Validating config
INFO Start processing
FATAL { err:
TypeError: line.matchAll is not a function
at res.value.res.value.split.map.line (/home/seek/Data/hexosite/node_modules/hexo-util/lib/highlight.js:128:26)
at Array.map (<anonymous>)
at closeTags (/home/seek/Data/hexosite/node_modules/hexo-util/lib/highlight.js:126:37)
at highlight (/home/seek/Data/hexosite/node_modules/hexo-util/lib/highlight.js:119:10)
at highlightUtil (/home/seek/Data/hexosite/node_modules/hexo-util/lib/highlight.js:23:16)
at data.content.dataContent.replace (/home/seek/Data/hexosite/node_modules/hexo/lib/plugins/filter/before_post_render/backtick_code_block.js:92:17)
at String.replace (<anonymous>)
at Hexo.backtickCodeBlock (/home/seek/Data/hexosite/node_modules/hexo/lib/plugins/filter/before_post_render/backtick_code_block.js:19:30)
at Hexo.tryCatcher (/home/seek/Data/hexosite/node_modules/bluebird/js/release/util.js:16:23)
at Hexo.<anonymous> (/home/seek/Data/hexosite/node_modules/bluebird/js/release/method.js:15:34)
at Promise.each.filter (/home/seek/Data/hexosite/node_modules/hexo/lib/extend/filter.js:67:52)
at tryCatcher (/home/seek/Data/hexosite/node_modules/bluebird/js/release/util.js:16:23)
at Object.gotValue (/home/seek/Data/hexosite/node_modules/bluebird/js/release/reduce.js:166:18)
at Object.gotAccum (/home/seek/Data/hexosite/node_modules/bluebird/js/release/reduce.js:155:25)
at Object.tryCatcher (/home/seek/Data/hexosite/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/home/seek/Data/hexosite/node_modules/bluebird/js/release/promise.js:547:31)
at Promise._settlePromise (/home/seek/Data/hexosite/node_modules/bluebird/js/release/promise.js:604:18)
at Promise._settlePromiseCtx (/home/seek/Data/hexosite/node_modules/bluebird/js/release/promise.js:641:10)
at _drainQueueStep (/home/seek/Data/hexosite/node_modules/bluebird/js/release/async.js:97:12)
at _drainQueue (/home/seek/Data/hexosite/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/home/seek/Data/hexosite/node_modules/bluebird/js/release/async.js:102:5)
at Immediate.Async.drainQueues [as _onImmediate] (/home/seek/Data/hexosite/node_modules/bluebird/js/release/async.js:15:14) } 'Something\'s wrong. Maybe you can find the solution here: %s' '\u001b[4mhttps://hexo.io/docs/troubleshooting.html\u001b[24m'
我没有使用 hexo 的经验,这是我第一次决定玩它。我阅读了他们关于故障排除的文档,但没有找到任何相关信息。
如果您对此有所了解,请随时回答,在此先感谢您!
解决方法
更新:
Node.js 从 $ch = curl_init($url);
curl_setopt_array($ch,[
CURLOPT_HTTP09_ALLOWED => 1,CURLOPT_CUSTOMREQUEST => 'GET',CURLOPT_RETURNTRANSFER => 1,CURLOPT_TIMEOUT => 20
]);
ob_start();
$ch_result = curl_exec($ch);
$buffer = ob_get_contents();
ob_get_clean();
ob_end_flush();
echo "ch result: $ch_result / buffer result: $buffer";
版本开始支持函数 ch result: 1 / buffer result: test response
,因此,请将您的 nodejs 升级到大于 String.matchAll()
的版本。
或
将文件12.0.0
中配置项12.0.0
的值由highlight->enable
改为_config.xml
,可以避免异常。
true
但是,这将关闭代码突出显示。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。