mac安装oh-my-zsh出现command not found: npm问题解决

解决Oh-My-Zsh安装后npm命令找不到的问题
在安装Oh-My-Zsh后遇到npm命令找不到的问题,主要是由于环境配置错误。解决方法是在安装前通过`which npm`找到npm的路径,然后在`.zshrc`配置文件中添加该路径,确保npm能在新的shell环境中被找到。如果之前修改过配置文件,可能需要恢复并重新配置。遵循这个原理,适当调整即可正常使用npm。

        在安装完oh-my-zsh以后新建终端输入node或是npm会出现command not found:npm的情况,原因是因为不能够找到npm的环境,一开始我参考了一下网上的一些博客的方法,有点醉,完全被带偏,配置文件改的不忍直视,所以还是从原理上说一下这个问题的原因,别人的方法不一定照搬有用,但是只要原因知道,稍微微调一下即可,希望对大家有帮助
        先说一下前提环境,我这边是用nvm来统一管理node版本包,所以安装路径也会有所不同,首先我们需要在安装oh-my-zsh之前,执行下面的代码来找到你的npm所在的位置

which npm

在这里插入图片描述
在这里插入图片描述

        一定要在安装之前,否则安装以后它的默认环境配置有误,你没办法找到npm的命令

        找到我们npm所在的位置以后,我们需要打开oh-my-zsh的配置文件

vi ~/.zshrc

在这里插入图片描述

        这一行是我自己加的,我们可以看到其实作者也已经给了我们提示了,如果我们原来是用bash环境,是需要先配置自己的环境的,这时候把之前输出的npm位置导入进去就可以,然后执行一下zshrc

source ~/.zshrc

        然后我们看到就可以使用npm的相关命令了

本文解决方案参考自:
https://stackoverflow.com/questions/12743928/command-not-found-after-npm-install-in-zsh

### 问题分析 在 macOS 系统中,如果在 **VSCode 的终端**中遇到 `zsh: command not found: npm` 或 `zsh: command not found: nvm` 这类错误,通常表示: - Node.js 和 npm 没有正确安装或未添加到系统路径(PATH)中。 - `nvm` 未正确加载到当前的 shell 配置文件中。 - VSCode 终端使用的 shell 可能与系统默认 shell 不一致。 --- ### 解决方案 #### 1. 确保 `nvm` 已正确安装并配置 `nvm` 是一个 Node.js 版本管理工具,它不会自动添加到全局环境变量中,必须手动将其脚本写入 `.zshrc` 或 `.bash_profile` 文件中。 编辑 `.zshrc` 文件: ```bash nano ~/.zshrc ``` 添加以下内容(根据你的实际安装路径调整): ```bash 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 ``` 保存后执行以下命令使配置生效: ```bash source ~/.zshrc ``` 验证是否成功: ```bash nvm --version ``` 如果没有输出版本号,请重新安装 `nvm`: ```bash curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash ``` #### 2. 使用 `nvm` 安装 Node.js 并设置默认版本 确保 `nvm` 正常工作后,可以安装 Node.js: ```bash nvm install --lts # 安装长期支持版本 # 或者指定版本 nvm install 18.16.0 ``` 设置默认使用版本: ```bash nvm alias default 18.16.0 ``` 验证 Node.js 和 npm 是否可用: ```bash node -v npm -v ``` #### 3. 检查 VSCode 使用的 Shell 环境 有时 VSCode 默认使用的是 `/bin/bash` 而不是 `/bin/zsh`,这会导致 `.zshrc` 中的配置不被加载。 可以在 VSCode 中切换默认 shell: 打开终端 → 点击终端窗口右上角的下拉箭头 → 选择 `Select Default Profile` → 设置为 `zsh`。 或者通过快捷键 `Cmd + Shift + P` 输入 `Terminal: Select Default Shell` 并选择 `zsh`。 你也可以通过命令查看当前 shell: ```bash echo $SHELL ``` 应输出 `/bin/zsh`。 #### 4. 验证 PATH 是否包含 Node.js 的可执行路径 某些情况下,即使安装了 Node.js,也可能没有将路径加入 `PATH`。你可以检查当前 `PATH`: ```bash echo $PATH ``` 如果你是用 `nvm` 安装的 Node.js,通常会自动处理路径问题。否则可能需要手动添加: ```bash export PATH=$PATH:/Users/your_username/.nvm/versions/node/v18.16.0/bin ``` 将上述路径替换为你实际的 Node.js 安装路径,并将其加入 `.zshrc` 文件以持久化。 #### 5. 重启 VSCode 或终端模拟器 完成以上步骤后,关闭并重新打开 VSCode 的终端窗口,再次尝试运行 `npm` 和 `nvm` 命令。 --- ### 示例代码:检查 Node.js 和 npm 是否正常 ```bash node -v npm -v nvm ls ``` 如果都能正确显示版本信息,则说明配置已成功。 ---
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值