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

时间:2013-05-01 15:09:45

标签: macos node.js

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

npm install nodemon -g

我在nodemon

中有$path命令

在Mac OSX上,nodemon不在$path ...

任何线索?

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

7 个答案:

答案 0 :(得分:6)

尝试全局安装:

sudo npm install nodemon -g

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

答案 1 :(得分:3)

我的Mac上遇到了同样的问题。我能够通过全局安装(不需要sudo)然后将/usr/local/share/npm/bin添加到我的路径来解决这个问题。将它放在bash配置文件中很容易,因此它会在启动时添加。首先,vim~ / .bash_profile,然后:

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

然后一切都按预期工作。

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

答案 2 :(得分:1)

如果你正在使用fish shell,并通过自制软件安装节点,请将其添加到~/.config/fish/config.fish

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

答案 3 :(得分:0)

您安装后更新了终端路径吗?尝试关闭并重新打开终端。你在使用nvm(节点版本管理器)吗?如果是这样,二进制文件将类似于

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

的输出是什么
echo $PATH

答案 4 :(得分:0)

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

结果是,当我打开一个新的终端窗口并运行which compass时,我会看到路径,太棒了!但是在cd到我的项目目录后,路径将会消失? 事实证明,NPM会将宝石安装到RVM(默认)gemset!我尝试重新安装没有-g标志,没有运气。

我的解决方案很快rvm --force gemset delete appname,只是使用了项目的默认值。可能不理想,但它奏效了。希望这个提示有助于其他人。

答案 5 :(得分:0)

最终对我有用的是使用nvm,然后执行:

nvm install stable
nvm use stable
nvm alias default stable

我意识到在运行npm config get prefix后看到它不正确。

答案 6 :(得分:0)

与之或与可执行文件的二进制或符号链接可能在路径/Users/[username]/private/node_modules/.bin

例如:

ls -l /Users/[username]/private/node_modules/.bin/json-server lrwxr-xr-x 1 [username] group 29 Oct 9 14:29 /Users/[username]/private/node_modules/.bin/json-server -> ../json-server/lib/cli/bin.js

PATH="$PATH:/Users/[username]]/private/node_modules/.bin/"行添加到~/.bash_profile文件并运行source /Users/[username]]/.bash_profile应该会导致您在Ubuntu中遇到相同的行为