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

Sod*_*ers 6 terminal homebrew node.js npm hexo

我正在尝试使用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命令时,问题就出现了.

我安装的节点和NPM与自制,所以当我运行which nodewhich npm,结果/usr/local/bin/node/usr/local/bin/npm分别.

我想我在没有自制软件的情况下安装Node时仍然有剩余的文件和目录,但我不想在不完全了解其影响的情况下开始删除.我是否可以安全地删除/Users/myusername/.node/目录中的所有文件?我无法弄清楚为什么npm没有安装到正确的目录.

Sod*_*ers 26

经过一番挖掘,我发现我的npm前缀变量指向了错误的目录,旧的Node安装留下了.我跑去npm config get prefix看它指向的地方.

我使用设置新的前缀值npm config set prefix /usr/local.Homebrew与此目录通过符号链接/usr/local/bin.我卸载了hexo-cli并通过npm重新安装,现在它完美无缺.

  • 我遇到了一个奇怪的问题,通常会出现在“node_modules/bin”中的东西最终出现在我的项目根目录中。一个简单的 `npm config delete prefix` 为我解决了这个问题,谢谢!(不知道前缀来自哪里) (3认同)