【解决】mac npm全局安装serve 报错zsh: command not found: serve

问题描述

npm全局安装serve。

npm i -g serve

显示安装成功,运行 serve -s build,报错 zsh: command not found: serve。

运行 which serve,显示 serve not found,找不到serve命令。

which serve

运行 which npm,找出npm命令本身的位置 /usr/local/bin/npm。

which npm

运行 npm config get prefix,查看配置npm全局包的安装位置为 /usr/local/Cellar/node/22.3.0/lib。

npm config get prefix

运行 npm list -g 命令列出所有全局安装的npm包及其依赖,显示serve 14.2.3已经成功安装。

npm list -g /usr/local/Cellar/node/22.3.0/lib
├── bin@
├── lib@
├── npm@10.8.2
├── serve@14.2.3
└── share@

serve命令确实存在于/usr/local/Cellar/node/22.3.0/bin目录中,但是使用which serve命令时仍然找不到它,这个目录可能没有被正确地添加到PATH环境变量中。

运行echo $PATH来查看当前的PATH,能够看到运行 npm config get prefix 得到路径不在PATH环境变量中。

echo $PATH

所以根本原因是,serve安装在了一个不在PATH中的目录,我们要手动将其添加到PATH

解决方法

1. 使用文本编辑器打开 ~/.zshrc文件,例如使用nanovi

nano ~/.zshrc

2. 修改配置文件以添加路径,使用箭头键移动光标到文件的底部,在文件的末尾添加以下行。

export PATH="/usr/local/Cellar/node/22.3.0/bin:$PATH"

这条命令的作用是将/usr/local/Cellar/node/22.3.0/bin添加到现有的PATH环境变量之前,确保系统首先在这个目录中查找命令。

3. 保存并退出nano:

  • 按下Ctrl + O(字母O,不是数字0)保存文件。
  • 按下Enter确认文件名。
  • 按下Ctrl + X退出nano。

4. 使更改生效。 

source ~/.zshrc

5. 查看更改配置文件是否更改成功。

cat ~/.zshrc

6. 验证更改,确认输出中包含了/usr/local/Cellar/node/22.3.0/bin路径。

echo $PATH

此时,再次运行 which serve 就能查询到 /usr/local/Cellar/node/22.3.0/bin/serve 了。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值