sudo npm command not found 问题解决

这种情况通常是使用 npm 命令可以正常使用,但使用sudo npm 命令便会报 command not found

这是什么原因呢?
输入which npm可以得到/usr/local/bin/npm
这个是普通用户的bin目录
sudo执行的是/usr/bin目录,这是root用户的目录
所以使用sudo命令是识别不到这个命令的,我们可以使用以下方法来处理这个问题

sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/node /usr/lib/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf

同理,如果你使用的是cnpm 那么

sudo ln -s /usr/local/bin/cnpm /usr/bin/cnpm

如果你的其他程序也是这样的问题,只要将xxx替换成你的可执行程序就可以了

sudo ln -s /usr/local/bin/xxx /usr/bin/xxx

ln命令用来为文件创件连接,连接类型分为硬连接和符号连接两种,默认的连接类型是硬连接。如果要创建符号连接必须使用"-s"选项。

注意: 符号链接文件不是一个独立的文件,它的许多属性依赖于源文件,所以给符号链接文件设置存取权限是没有意义的。

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值