在zsh中安装npm后找不到命令

时间:2012-10-05 10:02:47

标签: macos zsh npm vows

我在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

由于

19 个答案:

答案 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

编辑“ .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,这解决了我的问题。

  1. 尝试vi .bashrc
  2. 您将找到类似以下的行。复制它。

    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

  3. 将复制的内容粘贴到.zshrc文件

  4. 重启终端

我希望这能解决您的问题。

答案 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. sudo chown -R $(whoami)/ usr / local / share / man / man8 (用于Brew访问)
  2. 酿造更新和&brew安装npm (我已经安装了节点)
  3. npm -v (确认安装)
  4. nano〜/ .zshrc (清空文件更改并保存)

这对我有用。希望这对某人有帮助。 #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