我安装了nvm来管理我的节点版本。如果我全局安装软件包npm install -g fkill
,然后运行fkill
,则会收到错误消息zsh: command not found: fkill
。
这里有一些命令可以帮助调试
$ npm root -g
/home/jchi/.nvm/versions/node/v10.15.3/lib/node_modules
看着我的路径...
$ echo $PATH
/home/jchi/.pyenv/shims:/home/jchi/.pyenv/bin:/home/jchi/.nix-profile/bin:/home/jchi/.autojump/bin:/home/jchi/.nvm/versions/node/v10.15.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/games
我在PATH中看不到npm root -g
的输出。
我认为nvm有责任将其添加到我的路径中,以便可以运行全局安装的软件包。因此,我看看启动.zshrc
可以启动nvm的内容。
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
105 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
建议表示赞赏
答案 0 :(得分:0)
在您的PATH上,您的路径下确实有nvm bin文件夹。
/home/jchi/.nvm/versions/node/v10.15.3/bin
我建议检查~/.npmrc
中是否有与前缀相关的设置。
如果您有前缀任何设置,请删除它。
然后尝试再次运行npm install -g fkill
。
答案 1 :(得分:0)
解决此问题的一种方法是将您的 NVM 节点 bin 添加到您的路径中。
node --version
.bashrc
(将 VERSION 替换为您在第 1 步中获得的内容)export PATH="$HOME/.nvm/versions/node/VERSION/bin:$PATH"
示例:
export PATH="$HOME/.nvm/versions/node/v16.1.0/bin:$PATH"
. ~/.bashrc
或重新打开终端)时,您的全局节点命令现在应该可以工作了。不幸的是,您使用的每个版本的 Node 似乎都需要这样做。