【问题标题】:npm command not found in zsh but found in bash在 zsh 中找不到 npm 命令,但在 bash 中找到
【发布时间】:2021-12-17 05:46:35
【问题描述】:

我用nvm 安装了npm,第一次一切顺利,现在我尝试在Mac 终端上检查npm 版本,它显示:

% npm --version
zsh: command not found: npm

但是使用带有 bash 的 VSCode 终端,使用相同的命令,显示:

npm --version
6.14.12

我是否有可能以错误的方式安装npmnvm?或者这是我可以告诉 Mac 终端使用 bash 而不是 zsh 的一种方式?

【问题讨论】:

  • 请您将which npm 的输出发送到 bash 中吗?
  • 就像上面的评论所说的,试着找出在 VSCode 上运行的 npm 版本。它会说类似/usr/bin/npm。如果您在 zsh 终端中输入此路径,我希望它能够正常运行。
  • type -a npm 优于 which
  • @user17242583 which npm 显示以下内容:/Users/myuser/.nvm/versions/node/v12.22.1/bin/npm
  • @glennjackman type -a npm 显示npm is /Users/myuser/.nvm/versions/node/v12.22.1/bin/npm

标签: bash macos zsh


【解决方案1】:

我首先通过在bashbash 中执行echo $PATH 来解决这个问题,结果是:

bash:/Users/myuser/.nvm/versions/node/v12.22.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

zsh:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

两条路径都有/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

但只有bash 有这个:/Users/myuser/.nvm/versions/node/v12.22.1/bin:

所以我需要将缺少的路径添加到 zhs 路径,因为我没有需要做的 .zshrc 文件:

echo 'PATH="~/.nvm/versions/node/v12.22.1/bin:$PATH"' >> ~/.zshrc

之后我在终端上执行reset 并再次使用echo $PATH 验证我在两个终端上的路径相同。

最后执行以下命令:source ~/.zshrc,再次重置终端,现在bashzhs 都同步且可用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    • 2020-02-29
    • 2012-09-26
    • 1970-01-01
    • 2019-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多