hexojs / hexo

A fast, simple & powerful blog framework, powered by Node.js.
https://hexo.io
MIT License
38.86k stars 4.76k forks source link

yaml.safeLoad is removed in js-yaml 4. Use yaml.load instead, which is now safe by default. #4654

Closed MrRightDongYuJie1314 closed 3 years ago

MrRightDongYuJie1314 commented 3 years ago

Who has encountered this problem When executed hexo server

jiangtj commented 3 years ago

Can you provide a complete log? hexo 5.4 upgraded js-yaml version. https://github.com/hexojs/hexo/pull/4607

iexxk commented 3 years ago

您可以提供完整的日志吗? hexo 5.4升级了js-yaml版本。 #4607

INFO  Validating config
ERROR {
  err: Error: Function yaml.safeLoad is removed in js-yaml 4. Use yaml.load instead, which is now safe by default.
      at Object.safeLoad (/home/travis/build/iexxk/iexxk.github.io/node_modules/js-yaml/index.js:10:11)
      at /home/travis/build/iexxk/iexxk.github.io/themes/next/scripts/events/lib/vendors.js:13:27
      at /home/travis/build/iexxk/iexxk.github.io/node_modules/hexo/lib/hexo/index.js:305:14
      at tryCatcher (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/util.js:16:23)
      at Promise._settlePromiseFromHandler (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/promise.js:547:31)
      at Promise._settlePromise (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/promise.js:604:18)
      at Promise._settlePromise0 (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/promise.js:649:10)
      at Promise._settlePromises (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/promise.js:729:18)
      at _drainQueueStep (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/async.js:93:12)
      at _drainQueue (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/async.js:86:9)
      at Async._drainQueues (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/async.js:102:5)
      at Immediate.Async.drainQueues [as _onImmediate] (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/async.js:15:14)
      at processImmediate (node:internal/timers:464:21)
} Script load failed: %s themes/next/scripts/events/lib/vendors.js
INFO  ==================================
  ███╗   ██╗███████╗██╗  ██╗████████╗
  ████╗  ██║██╔════╝╚██╗██╔╝╚══██╔══╝
  ██╔██╗ ██║█████╗   ╚███╔╝    ██║
  ██║╚██╗██║██╔══╝   ██╔██╗    ██║
  ██║ ╚████║███████╗██╔╝ ██╗   ██║
  ╚═╝  ╚═══╝╚══════╝╚═╝  ╚═╝   ╚═╝
========================================
NexT version 8.0.0-rc.5
Documentation: https://theme-next.js.org
========================================
The command "hexo cl" exited with 0.
1.80s$ hexo g
INFO  Validating config
ERROR {
  err: Error: Function yaml.safeLoad is removed in js-yaml 4. Use yaml.load instead, which is now safe by default.
      at Object.safeLoad (/home/travis/build/iexxk/iexxk.github.io/node_modules/js-yaml/index.js:10:11)
      at /home/travis/build/iexxk/iexxk.github.io/themes/next/scripts/events/lib/vendors.js:13:27
      at /home/travis/build/iexxk/iexxk.github.io/node_modules/hexo/lib/hexo/index.js:305:14
      at tryCatcher (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/util.js:16:23)
      at Promise._settlePromiseFromHandler (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/promise.js:547:31)
      at Promise._settlePromise (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/promise.js:604:18)
      at Promise._settlePromise0 (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/promise.js:649:10)
      at Promise._settlePromises (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/promise.js:729:18)
      at _drainQueueStep (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/async.js:93:12)
      at _drainQueue (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/async.js:86:9)
      at Async._drainQueues (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/async.js:102:5)
      at Immediate.Async.drainQueues [as _onImmediate] (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/async.js:15:14)
      at processImmediate (node:internal/timers:464:21)
} Script load failed: %s themes/next/scripts/events/lib/vendors.js
INFO  ==================================
  ███╗   ██╗███████╗██╗  ██╗████████╗
  ████╗  ██║██╔════╝╚██╗██╔╝╚══██╔══╝
  ██╔██╗ ██║█████╗   ╚███╔╝    ██║
  ██║╚██╗██║██╔══╝   ██╔██╗    ██║
  ██║ ╚████║███████╗██╔╝ ██╗   ██║
  ╚═╝  ╚═══╝╚══════╝╚═╝  ╚═╝   ╚═╝
========================================
NexT version 8.0.0-rc.5
Documentation: https://theme-next.js.org
========================================
INFO  Start processing
FATAL {
  err: Error: Function yaml.safeLoad is removed in js-yaml 4. Use yaml.load instead, which is now safe by default.
      at Object.safeLoad (/home/travis/build/iexxk/iexxk.github.io/node_modules/js-yaml/index.js:10:11)
      at Object.<anonymous> (/home/travis/build/iexxk/iexxk.github.io/themes/next/scripts/events/lib/vendors.js:13:27)
      at Module._compile (node:internal/modules/cjs/loader:1092:14)
      at Object.Module._extensions..js (node:internal/modules/cjs/loader:1121:10)
      at Module.load (node:internal/modules/cjs/loader:972:32)
      at Function.Module._load (node:internal/modules/cjs/loader:813:14)
      at Module.require (node:internal/modules/cjs/loader:996:19)
      at req (/home/travis/build/iexxk/iexxk.github.io/node_modules/hexo/lib/hexo/index.js:292:23)
      at Hexo.<anonymous> (/home/travis/build/iexxk/iexxk.github.io/themes/next/scripts/events/index.js:9:3)
      at Hexo.tryCatcher (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/util.js:16:23)
      at Hexo.<anonymous> (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/method.js:15:34)
      at /home/travis/build/iexxk/iexxk.github.io/node_modules/hexo/lib/extend/filter.js:67:52
      at tryCatcher (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/util.js:16:23)
      at Object.gotValue (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/reduce.js:166:18)
      at Object.gotAccum (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/reduce.js:155:25)
      at Object.tryCatcher (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/util.js:16:23)
} Something's wrong. Maybe you can find the solution here: %s https://hexo.io/docs/troubleshooting.html
The command "hexo g" exited with 2.
stevenjoezhang commented 3 years ago

@iexxk Run npm i hexo-theme-next@8.2.2

iexxk commented 3 years ago

@iexxk Run npm i hexo-theme-next@8.2.2

run npm install hexo-theme-next@8.2.2 --save after

node --version
v15.11.0
$ npm --version
7.6.0
$ nvm --version
0.37.2
install.1
1.58s$ npm install
install.2
2.17s$ npm install hexo-theme-next@8.2.2 --save
install.3
0.82s$ npm install hexo-generator-searchdb --save
install.4
1.01s$ npm install hexo-generator-sitemap --save
install.5
7.54s$ npm install hexo-generator-baidu-sitemap --save
install.6
1.69s$ npm install hexo-filter-flowchart --save
install.7
1.79s$ npm install hexo-filter-sequence --save
install.8
7.10s$ npm install valine --save
0.60s$ hexo cl
INFO  Validating config
ERROR {
  err: Error: Function yaml.safeLoad is removed in js-yaml 4. Use yaml.load instead, which is now safe by default.
      at Object.safeLoad (/home/travis/build/iexxk/iexxk.github.io/node_modules/js-yaml/index.js:10:11)
      at /home/travis/build/iexxk/iexxk.github.io/themes/next/scripts/events/lib/vendors.js:13:27
      at /home/travis/build/iexxk/iexxk.github.io/node_modules/hexo/lib/hexo/index.js:305:14
      at tryCatcher (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/util.js:16:23)
      at Promise._settlePromiseFromHandler (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/promise.js:547:31)
      at Promise._settlePromise (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/promise.js:604:18)
      at Promise._settlePromise0 (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/promise.js:649:10)
      at Promise._settlePromises (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/promise.js:729:18)
      at _drainQueueStep (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/async.js:93:12)
      at _drainQueue (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/async.js:86:9)
      at Async._drainQueues (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/async.js:102:5)
      at Immediate.Async.drainQueues [as _onImmediate] (/home/travis/build/iexxk/iexxk.github.io/node_modules/bluebird/js/release/async.js:15:14)
      at processImmediate (node:internal/timers:464:21)
} Script load failed: %s themes/next/scripts/events/lib/vendors.js
INFO  ==================================
  ███╗   ██╗███████╗██╗  ██╗████████╗
  ████╗  ██║██╔════╝╚██╗██╔╝╚══██╔══╝
  ██╔██╗ ██║█████╗   ╚███╔╝    ██║
  ██║╚██╗██║██╔══╝   ██╔██╗    ██║
  ██║ ╚████║███████╗██╔╝ ██╗   ██║
  ╚═╝  ╚═══╝╚══════╝╚═╝  ╚═╝   ╚═╝
========================================
NexT version 8.0.0-rc.5
Documentation: https://theme-next.js.org
========================================
The command "hexo cl" exited with 0.
stevenjoezhang commented 3 years ago

Have you installed theme NexT version 8.0.0-rc.5 via git clone in themes directory?

iexxk commented 3 years ago

Have you installed theme NexT version 8.0.0-rc.5 via git clone in themes directory?

image

stevenjoezhang commented 3 years ago

OK, run

npm uninstall hexo-theme-next
cd themes/next
git checkout master
git pull origin master
iexxk commented 3 years ago

OK, run

npm uninstall hexo-theme-next
cd themes/next
git checkout master
git pull origin master

更新后解决了,tks

THEO1126 commented 3 years ago

想问一下这个错误怎么解决呢

FATAL { err: Error: Function yaml.safeLoad is removed in js-yaml 4. Use yaml.load instead, which is now safe by default. at Object.safeLoad (D:\Programming\blog\Theo\Hexo\node_modules\js-yaml\index.js:10:11) at Hexo. (D:\Programming\blog\Theo\Hexo\themes\shoka\scripts\generaters\config.js:41:41) at Hexo.tryCatcher (D:\Programming\blog\Theo\Hexo\node_modules\bluebird\js\release\util.js:16:23) at Hexo. (D:\Programming\blog\Theo\Hexo\node_modules\bluebird\js\release\method.js:15:34) at D:\Programming\blog\Theo\Hexo\node_modules\hexo\lib\extend\filter.js:67:52 at tryCatcher (D:\Programming\blog\Theo\Hexo\node_modules\bluebird\js\release\util.js:16:23) at Object.gotValue (D:\Programming\blog\Theo\Hexo\node_modules\bluebird\js\release\reduce.js:166:18) at Object.gotAccum (D:\Programming\blog\Theo\Hexo\node_modules\bluebird\js\release\reduce.js:155:25) at Object.tryCatcher (D:\Programming\blog\Theo\Hexo\node_modules\bluebird\js\release\util.js:16:23) at Promise._settlePromiseFromHandler (D:\Programming\blog\Theo\Hexo\node_modules\bluebird\js\release\promise.js:547:31) at Promise._settlePromise (D:\Programming\blog\Theo\Hexo\node_modules\bluebird\js\release\promise.js:604:18) at Promise._settlePromise0 (D:\Programming\blog\Theo\Hexo\node_modules\bluebird\js\release\promise.js:649:10) at Promise._settlePromises (D:\Programming\blog\Theo\Hexo\node_modules\bluebird\js\release\promise.js:729:18) at Promise._fulfill (D:\Programming\blog\Theo\Hexo\node_modules\bluebird\js\release\promise.js:673:18) at Promise._resolveCallback (D:\Programming\blog\Theo\Hexo\node_modules\bluebird\js\release\promise.js:466:57) at Promise._settlePromiseFromHandler (D:\Programming\blog\Theo\Hexo\node_modules\bluebird\js\release\promise.js:559:17) at Promise._settlePromise (D:\Programming\blog\Theo\Hexo\node_modules\bluebird\js\release\promise.js:604:18) at Promise._settlePromise0 (D:\Programming\blog\Theo\Hexo\node_modules\bluebird\js\release\promise.js:649:10) at Promise._settlePromises (D:\Programming\blog\Theo\Hexo\node_modules\bluebird\js\release\promise.js:729:18) at Promise._fulfill (D:\Programming\blog\Theo\Hexo\node_modules\bluebird\js\release\promise.js:673:18) at PromiseArray._resolve (D:\Programming\blog\Theo\Hexo\node_modules\bluebird\js\release\promise_array.js:127:19) at PromiseArray._promiseFulfilled (D:\Programming\blog\Theo\Hexo\node_modules\bluebird\js\release\promise_array.js:145:14) } Something's wrong. Maybe you can find the solution here: %s https://hexo.io/docs/troubleshooting.html

stevenjoezhang commented 3 years ago

@zztqsh 这是shoka主题的问题,联系主题的作者解决

THEO1126 commented 3 years ago

@zztqsh 这是shoka主题的问题,联系主题的作者解决 好的,谢谢你