这是一个漫长的夜晚。最初,我从 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
我删除了这一行并重新安装了grunt
和grunt-cli
软件包。它现在有效。