盒子
盒子

Mac上安装Hexo出现DTraceProviderBindings MODULE_NOT_FOUND 终极解决办法

最近在Mac上安装hexo,使用时报错,报错信息如下:

Error: Cannot find module './build/Release/DTraceProviderBindings'
at Function.Module._resolveFilename (module.js:470:15)
at Function.Module._load (module.js:418:25)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/usr/local/lib/node_modules/hexo-cli/node_modules/.0.8.0@dtrace-provider/dtrace-provider.js:17:23)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/usr/local/lib/node_modules/hexo-cli/node_modules/.1.8.5@bunyan/lib/bunyan.js:79:18)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32) code: 'MODULE_NOT_FOUND'

仔细一看,有两处重要信息:

  • DTraceProviderBindings
  • bunyan

官方解决方法:

cnpm install hexo --no-optional

cnpm 为淘宝对于npm镜像提供的工具,可以通过
npm install cnpm –save 获得

据说很多人都解决了,但是仍然有部分人错误依旧。很荣幸,我也没解决。继续折腾。
重新安装hexo 和 hexo-cli
发现问题:

scripts.install hexo-log@0.1.2 › bunyan@1.8.5 › dtrace-provider@0.8.0 run "node scripts/install.js"
cannot locate npm install
scripts.install hexo-log@0.1.2 › bunyan@1.8.5 › dtrace-provider@0.8.0 finished in 88ms

实际上就是bunyan没安装成功
立马运行

npm uninstall hexo -g
npm uninstall hexo-cli -g
cnpm install hexo -g
cnpm install hexo-cli -g
cnpm install bunyan -g

perfect .问题完美解决。

总结起来,一般执行这三步能解决绝大多数的DTraceProviderBindings 问题:

  1. 卸载原有hexo,并且不安装无用插件

    npm uninstall hexo
    npm uninstall hexo -g
    cnpm install hexo --no-optional --save
  2. 重新安装hexo-cli

    npm uninstall hexo-cli
    npm uninstall hexo-cli -g
    cnpm install hexo-cli -g
  3. 重新安装bunyan

    cnpm install bunyan --save
支持一下
扫一扫,支持牛头码农