Terminal 为什么';t zsh从全局安装的npm包中识别命令?

Terminal 为什么';t zsh从全局安装的npm包中识别命令?,terminal,zsh,oh-my-zsh,zshrc,Terminal,Zsh,Oh My Zsh,Zshrc,在安装oh my zsh并重新安装node和npm之后,我在全局范围内安装了npm check updates,并尝试调用“ncu”(npm check updates命令)。但是,我得到一个错误:zsh: 未找到命令:ncu。有人知道如何解决此问题吗?确保在$PATH环境变量中可以找到“ncu”包。尝试此操作,以找到“ncu”应安装的位置: which ncu 如果它仍然给您带来麻烦,请尝试查看它是否位于/usr/bin、/HOME/npm/bin、/usr/local/lib或/usr/s

在安装oh my zsh并重新安装node和npm之后,我在全局范围内安装了npm check updates,并尝试调用“ncu”(npm check updates命令)。但是,我得到一个错误:zsh:
未找到命令:ncu。有人知道如何解决此问题吗?

确保在$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

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


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

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

问题是我的
.zshrc
中的
导出路径
错误。 这是以前的情况:

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

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

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


    这对我有用

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

    sudo npm install -g npm-check-updates
    

    如果$PATH是一个npm包,也可以尝试将$HOME/npm/bin作为$PATH应该包含的内容!!如果我尝试添加多个软件包,我认为原始解决方案无法扩展。通过将$HOME/npm/bin添加到path,它将包括从那时起安装的所有软件包@Vincentchee我认为它是
    $HOME/.npm/bin
    ,但它可能取决于操作系统,我是在OS X上,这可能是Windows的解决方案?它应该是所有操作系统的解决方案。只需确保使用PATH变量中npm包的正确位置更新.bash_概要文件。