全局节点包安装到错误的目录

Global Node Packages Installed to Wrong Directory

我正在尝试使用 npm 全局安装 Hexo。当我 运行 npm install -g hexo-cli 我得知它已安装到 /Users/myusername/.node/bin/hexo -> /Users/myusername/.node/lib/node_modules/hexo-cli/bin/hexo

当我运行 hexo init blog 找不到hexo 命令时,问题就来了。

我用 Homebrew 安装了 Node 和 npm,所以当我 运行 which nodewhich npm 时,结果分别是 /usr/local/bin/node/usr/local/bin/npm

我想我仍然有在没有自制软件的情况下安装 Node 时遗留下来的文件和目录,但我不想在没有完全了解后果的情况下开始删除东西。删除 /Users/myusername/.node/ 目录中的所有文件是否安全?我不明白为什么 npm 没有安装到正确的目录。

经过一番挖掘,我发现我的 npm 前缀变量指向了错误的目录,这是旧节点安装遗留下来的。我 运行 npm config get prefix 看看它指向哪里。

我使用 npm config set prefix /usr/local 设置了新的前缀值。 Homebrew 通过 /usr/local/bin 与此目录建立符号链接。卸载了hexo-cli,通过npm重新安装,完美运行

解决variables/path环境问题的简单方法Windows:

运行 命令:

npm install -g hexo 

使用 node.js 命令提示符 而不是 cmd windows 由 Windows 本身提供。

对于 NVM 用户

运行 nvm use --delete-prefix v10.13.0 --silentv10.13.0 替换为您正在使用的任何版本的节点。