2012-10-05 244 views
11

我在zsh中通过npm安装vows时遇到了一些问题。这是我得到的。我尝试使用和不使用-g选项来安装它。你有什么想法吗?在zsh中安装npm后找不到命令

[❤ ~/Desktop/sauce-node-demo:master] npm install -g vows 
npm http GET https://registry.npmjs.org/vows 
npm http 304 https://registry.npmjs.org/vows 
npm http GET https://registry.npmjs.org/eyes 
npm http GET https://registry.npmjs.org/diff 
npm http 304 https://registry.npmjs.org/eyes 
npm http 304 https://registry.npmjs.org/diff 
/usr/local/share/npm/bin/vows -> /usr/local/share/npm/lib/node_modules/vows/bin/vows 
[email protected] /usr/local/share/npm/lib/node_modules/vows 
├── [email protected] 
└── [email protected] 
[❤ ~/Desktop/sauce-node-demo:master] vows 
zsh: command not found: vows 

感谢

+0

您是否试过通过rehash刷新shell的路径缓存? –

+0

这样做后仍然没有=/ – optikfluffel

回答

27

如果使用自制安装Node.js的,NPM可执行文件可以在/usr/local/share/npm/bin找到。你应该确保这个目录在你的PATH环境变量中。所以,在你的~/.zshrc文件中加export PATH=/usr/local/share/npm/bin:$PATH

+2

在mac上,我添加了'export/PATH =“$ HOME/.npm-packages/bin:$ PATH”'到我的'〜/ .zshrc'。 –

23

add source /home/YOUUSERNAME/.bash_profile~/.zshrc

所有丢失的命令都会被检测到。

对于的Mac用户:添加source /Users/YOUUSERNAME/.bash_profile

+3

这实际上是最好的解决方案,因为它会导入所有命令! –

+0

很简单的解决方法,谢谢。 – Jessycormier

+0

不客气......如果这个答案可以帮助你缩短发展时间,你可以给我一杯[咖啡:]](https://www.paypal.me/AbdennourT/2) –

0

MacOS的用户:考虑使用.profile.bash_profile代替。您可能仍然需要手动将其添加到~/.zshrc

source $HOME/.profile 

注意,有没有这样的文件在默认情况下!引用slhck https://superuser.com/a/473103

无论如何,你可以简单地创建文件,如果不存在,并在文本编辑器打开它。

touch ~/.profile 
open -e !$ 

增加的价值在于,它感觉好男人使用单个文件来设置环境,不管使用的外壳。在zsh中加载bash配置文件感觉很尴尬。

用cos https://stackoverflow.com/a/415444/2445063

.profile引用一个公认的答案很简单,最初由/bin/sh登录脚本文件名。 bash中,一般是与/bin/sh向后兼容,将如果存在

继菲利普埃克伯格的研究/意见https://stackoverflow.com/a/415410/2445063

.profile.bash_profile根等效阅读.profile。我认为这个名字改变了,让其他shell(csh,sh,tcsh)也可以使用它。(你不需要一个为用户)

又回到了slhck,一个注意注意有关庆典

(...),一旦你创建了一个名为~/.bash_profile文件,您~/.profile将不会被读取。