在Mac OSX上节点模块的shell命令不在path中

在Ubuntu上,如果我安装一个模块,如:

npm install nodemon -g 

我在$path有命令nodemon

在Mac OSX上, nodemon不在$path

任何线索?

更新:没有什么/usr/local/bin ,我也尝试了与npm install nodemon -g相同的结果

尝试全局安装

 sudo npm install nodemon -g 

如果这不起作用,请将/usr/local/bin$PATH

我在我的Mac上遇到了同样的问题。 我能够通过全局安装(不需要sudo),然后将/usr/local/share/npm/bin到我的path来解决此问题。 把它放在你的bashconfiguration文件中很容易,所以它在启动时被添加。 首先,vim〜/ .bash_profile,然后:

 export PATH=${PATH}:/usr/local/share/npm/bin 

然后一切按预期工作。

顺便说一句,当我回显$ PATH时,/ usr / local / bin在那里,所以它必须是一个npm如何在Mac上工作的问题(也就是说,Mac的全球安装位置不同于Linux)。

如果你正在使用~/.config/fish/config.fish ,并通过自制软件安装了节点,把它添加到~/.config/fish/config.fish

 set PATH /usr/local/Cellar/node/6.6.0/bin/ $PATH 

你有没有更新你的terminalpath,因为安装? 尝试closures并重新打开您的terminal。 你使用nvm(节点版本pipe理器)? 如果是的话,二进制文件将会是类似的东西

 Users/maxl/.nvm/v0.10.4/bin 

什么是输出

 echo $PATH 

我被困在这一段时间了。 然后我发现我正在做的项目有自己的RVM gemset。 我试图安装的节点模块是npm install -g grunt-contrib-compass

其结果是,当我打开一个新的terminal窗口,跑which compass我会看到path,太棒了! 但一个CD后,我的项目目录的path将会消失? 事实certificate,NPM将安装gem到RVM的(默认)gemset! 我试图重新安装没有-g标志,没有运气。

我的解决scheme是一个快速rvm --force gemset delete appname ,只是使用项目的默认值。 可能不理想,但它的工作。 希望这个提示可以帮助别人。

到底什么工作对我来说是使用nvm,然后做:

 nvm install stable nvm use stable nvm alias default stable 

我意识到,运行npm config get prefixnpm config get prefix ,看到它是不正确的。