我在zsh中通过npm安装vows时遇到一些问题。这就是我得到的。我尝试使用和不使用-g选项安装它。你知道这里有什么问题吗?
[❤ ~/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
vows@0.6.4 /usr/local/share/npm/lib/node_modules/vows
├── eyes@0.1.8
└── diff@1.0.3
[❤ ~/Desktop/sauce-node-demo:master] vows
zsh: command not found: vows
由于
答案 0 :(得分:61)
在source /home/YOUUSERNAME/.bash_profile
~/.zshrc
将检测到所有缺失的命令。
对于 Mac 用户:添加source /Users/YOUUSERNAME/.bash_profile
答案 1 :(得分:41)
如果您使用Homebrew安装了Node.js,则可以在/usr/local/share/npm/bin
中找到npm二进制文件。您应确保此目录位于PATH环境变量中。因此,在~/.zshrc
文件中添加export PATH=/usr/local/share/npm/bin:$PATH
。
答案 2 :(得分:8)
如果您使用nvm进行添加,请将以下内容添加到您的.zshrc文件中,然后重新启动终端,因为zsh shell无法检测到该文件的二进制文件,我们指定了路径
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
答案 3 :(得分:5)
对于仍然有问题的任何人。不要忘记注销并再次登录。
答案 4 :(得分:4)
对于 Mac 用户:
除以下内容外: nvm,iterm2,zsh
我发现使用.bashrc
而不是.profile
或.bash_profile
引起的问题要少得多。
只需将后者添加到我的.zshrc
文件中即可:
source $HOME/.bashrc
答案 5 :(得分:4)
仅Mac用户
假设您之前安装了nvm,并且正确安装了npm
(以下有关如何安装的分步指南:
install nvm for Mac users
)。
您需要:
找到“ .zshrc”文件:
open ~
以访问您的主目录。Cmd + Shift + .
在Finder中显示隐藏的文件。编辑“ .zshrc”文件:
添加:source /Users/_user_Name_/.bash_profile
到文件顶部(其中_user_Name_代表您的用户。
保存文件,然后关闭“终端”窗口。
答案 6 :(得分:3)
要尝试解决的另一件事是取消对export
中第一个~/.zshrc
的注释
# If you come from bash you might have to change your $PATH.
export PATH=$HOME/bin:/usr/local/bin:$PATH
答案 7 :(得分:1)
macOS 用户:请考虑使用.profile
的<{1}} 代替。您可能仍需要手动将其添加到.bash_profile
:
~/.zshrc
请注意,默认情况下没有此类文件!引用slhck https://superuser.com/a/473103:
无论如何,只要文件不存在就可以创建,并在文本编辑器中打开它。
source $HOME/.profile
增加的价值是,使用单个文件来设置环境感觉很好,无论使用哪个shell。在zsh中加载bash配置文件感觉很尴尬。
按Cos https://stackoverflow.com/a/415444/2445063
引用接受的答案
touch ~/.profile open -e !$
只是.profile
最初使用的登录脚本文件名。 bash通常与/bin/sh
向后兼容,如果存在,则会显示/bin/sh
关注Filip Ekberg的研究/意见https://stackoverflow.com/a/415410/2445063
.profile
相当于根.profile
。我认为名称已更改为让其他shell(csh,sh,tcsh)也使用它。 (你不需要一个用户)
回到slhck,关于bash的注意事项:
(...)创建名为
.bash_profile
的文件后,您的~/.bash_profile
将不再被阅读。
答案 8 :(得分:1)
我在安装 Vercel CLI 时遇到了同样的问题。
就我而言,使用 sudo
安装。
示例:sudo npm i -g vercel
答案 9 :(得分:1)
对我来说,将export PATH=/usr/local/share/npm/bin:$PATH
添加到.zshrc
的公认答案不起作用。我也尝试添加NVM_DIR
,这解决了我的问题。
vi .bashrc
您将找到类似以下的行。复制它。
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
将复制的内容粘贴到.zshrc
文件
我希望这能解决您的问题。
答案 10 :(得分:1)
我已经通过brew upgrade node
答案 11 :(得分:0)
只需从以下位置下载 NodeJS:https://nodejs.org/it/download/
对我来说工作;)
答案 12 :(得分:0)
在 Mac Catalina 上使用 Node v12+,全局依赖项显示在 /$HOME/.npm-global/bin
添加
export PATH="$HOME/.npm-global/bin:$PATH"
到 ~/.bash_profile
将所有内容放在一个地方,然后添加
source $HOME/.bash_profile
到~/.zshrc
(如果它还没有)就行了。无需注销并重新登录,只需重新启动终端即可。
答案 13 :(得分:0)
就我而言,“重新安装”节点可以解决此问题。任何人都可以通过下面的网站安装该节点。
https://nodejs.org/en/download/
答案 14 :(得分:0)
对于MAC:我尝试了上述一些方法,但无济于事,无法进行任何工作。
我确实安装了BREW,所以尽管这不是最好的方法,但是使用zsh,我做到了:
这对我有用。希望这对某人有帮助。 #1困扰着我,但我现在会忍受。
答案 15 :(得分:0)
就我而言,我使用NVM安装了节点,并且在安装z Shell之后,node和nvm命令无法正常工作。所以对我有用的是再次使用以下命令安装nvm:
wget https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
sudo zsh install.sh
以上命令再次安装了nvm,因为已经安装了节点,所以它将节点路径自动添加到.zshrc文件中,并且一切正常。
答案 16 :(得分:0)
以我的拙见,首先,您必须确保已安装任何类型的Node版本。对于该类型:
nvm ls
如果没有任何版本,则表示我是对的:)然后,您必须输入:
nvm install <node_version**>
**您可以在Node website
中找到的实际版本然后,您将拥有Node,并且可以使用 npm命令
答案 17 :(得分:0)
在 Ubuntu 上,在安装 ZSH 之后,并事先在安装了 Node 或其他软件包的bash
终端上,
首次打开:
nano .zshrc
然后取消注释第二行:
export PATH=$HOME/bin:/usr/local/bin:$PATH
这对我有效,并且无需写任何行,而且我认为 Mac 上也可以使用此选项。
答案 18 :(得分:-1)
我认为问题更多的是关于ZSH的完成。
您需要在.zshrc中添加此行:
zstyle ':completion:*' rehash true
如果您有Oh-my-zsh,已制作公关,您可以整合它直到它被拉动:https://github.com/robbyrussell/oh-my-zsh/issues/3440