为什么zsh无法识别全局安装的npm软件包中的命令?

时间:2019-12-25 16:46:44

标签: terminal zsh oh-my-zsh zshrc

安装oh-my-zsh并重新安装节点和npm后,我全局安装了npm-check-updates并尝试调用“ ncu”(npm-check-updates命令)。但是,我得到一个错误:zsh: command not found: ncu。有人知道如何解决这个问题吗?

4 个答案:

答案 0 :(得分:0)

确保可以在$ PATH环境变量中找到'ncu'软件包。试试这个,找到应该在哪里安装“ ncu”:

which ncu

如果仍然给您带来麻烦,请尝试查看它是否在/ usr / bin,$ HOME / npm / bin,/ usr / local / lib或/ usr / sbin中,并检查$ PATH环境变量是否包含“ ncu”的方式。您的$ PATH环境变量,可以在

中找到
$HOME/.bashrc (Linux)
$HOME/.bash_profile (MacOS)

应该看起来像这样:

export PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$HOME/npm/bin

答案 1 :(得分:0)

安装后,您可以运行rehash,以便zsh分析$ PATH上有哪些新的可执行文件。

不确定是否可以解决该问题,我知道它可以解决安装后丢失的选项卡完成项。

答案 2 :(得分:0)

仅供参考,我正在使用OSX。

问题是我的takeUntil中的export path错误。 这就是以前的样子:

.zshrc

请注意,没有任何东西指向npm或我在全球安装的任何软件包。 对于将来有此问题的任何人...

  1. 确保已安装npm,并且您仍然可以运行npm命令(如果未卸载,请安装npm)。然后运行export PATH=$HOME/bin:/usr/local/bin:$PATH列出所有全局软件包。
  2. 进入您的主文件夹,然后按 + Shift + (显示所有隐藏的文件/文件夹),应该有一个。 npm文件夹,请确保您在上一步中获得的列表中的软件包与npm -g list --depth 0文件夹中的软件包匹配。
  3. 相应地编辑您的bin字符串:

export PATH

这对我有用!

答案 3 :(得分:0)

我已按照以下说明更正了此问题:

sudo npm install -g npm-check-updates