Mac OS X DTrace 错误 (折腾Hexo)

因为发现最新版的 Node 有点坑,已开启服务电脑就可以煎鸡蛋了,后来重新装了一下,回到稳定版本,然后就出现了一大堆的Error,折腾了好久大多数错误都解决了,但覆盖安装 Node 还是会出现 DTrace 错误,如下:

{ [Error: Cannot find module './build/Release/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }
{ [Error: Cannot find module './build/default/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }
{ [Error: Cannot find module './build/Debug/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }

Hexo官方的有这个错误的解决办法,执行$ npm install hexo --no-optional,但是这个并没有用!
后来找到一段脚本,先将 Node 删除干净,在进行重新安装即可。
通过bash 新建一个uninstall_node.sh文件,然后复制下面一段代码,并保存在该文件中:

#!/bin/bash
lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom \
| while read i; do
sudo rm /usr/local/${i}
done
sudo rm -rf /usr/local/lib/node \
/usr/local/lib/node_modules \
/var/db/receipts/org.nodejs.*

然后修改一下文件的权限为777, 执行命令: chmod 777 uninstall_node.sh
接着就运行该文件,执行命令: bash uninstall_node.sh
好了,现在重新安装Node就没问题咯。
之后还需要安装下Hexo,执行命令:npm install -g hexo-cli即可,其他配置不需要改变。


另外我也常遇到下面的问题(与本文无关)

  • 启动服务报错:
    Moon:tech.jandou.com {{username}} $ hexo server
    INFO Start processing
    INFO Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.
    FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/docs/troubleshooting.html
    Error: EACCES: permission denied, open '/Users/{{username}}/git/blog/tech.jandou.com/db.json'
    at Error (native)
    FATAL EACCES: permission denied, open '/Users/{{username}}/git/blog/tech.jandou.com/db.json'
    Error: EACCES: permission denied, open '/Users/{{username}}/git/blog/tech.jandou.com/db.json'
    at Error (native)

直接找到 db.json 文件,删除即可。

  • Rsync部署问题:
    如果服务器端软件使用 LNMP 一键安装包部署,在创建虚拟主机后,会在该主机WEB访问根目录生成一个.user.ini文件,该文件作用是防跨目录。
    但是这样一来,就无法部署 Hexo,在WEB根目录执行命令:chattr -i .user.ini即可解决。
坚持原创技术分享,您的支持将鼓励我继续创作!