npm 仍在将软件包安装到"/usr/local/Cellar/node/..."即使我已经卸载了自制软件的节点版本



这是一个漫长的夜晚。最初,我从 https://nodejs.org/上的软件包安装了节点。但是,出于某种原因(我现在不记得为什么了!),我决定尝试卸载它,然后通过Homebrew安装节点。

一切似乎都很顺利。然后我运行了以下内容:

$ npm install grunt -g
$ npm install grunt-cli -g

但是当我尝试运行任何 Grunt 任务时,我得到以下结果:

$ cd /some/project/that/used/grunt
$ grunt
-bash: grunt: command not found

我尝试卸载节点的自制版本:

$ brew uninstall node

然后我再次安装了 nodejs.org 包。但是,当我尝试安装 npm 包时,它最终会回到 /usr/local/Cellar/node/... 目录中:

$ sudo npm install grunt -g
Password:
grunt@0.4.5 /usr/local/Cellar/node/0.12.2_1/libexec/npm/lib/node_modules/grunt
├── which@1.0.9
...    

我也找到了 https://github.com/Homebrew/homebrew/issues/22408 并尝试了符号链接:

$ ln -sf /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm

没有运气。如何让 npm 停止在 /usr/local/Cellar/... 中安装软件包并让 Grunt 再次运行?谢谢!

这似乎有效。我在/usr/local/lib/node_modules/npm/npmrc中发现了以下内容:

prefix=/usr/local/Cellar/node/0.12.2_1/libexec/npm

我删除了这一行并重新安装了gruntgrunt-cli软件包。它现在有效。

最新更新