关于在centos7中使用npm报错“sudo npm command not found”问题解决

先找到npm的安装路径,输入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"选项。

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

原文地址:https://www.cnblogs.com/mYunYu/p/14371640.html