sudo: npm:找不到命令

我的菜鸟小笔记(在deepin中)
在直接使用 npm 时可以正常使用

zhng@zhng-mx:/$ npm
Usage: npm <command>
where <command> is one of:
    access, adduser, audit, bin, bugs, c, cache, ci, cit,
    completion, config, create, ddp, dedupe, deprecate,
    dist-tag, docs, doctor, edit, explore, get, help,
npm@6.4.1 /opt/node-v8.16.0-linux-x64/lib/node_modules/npm
、、、  、、、
、、、  、、、  、、、

但是在 使用 sudo 时却找不到命令

zhng@zhng-mx:/opt$ sudo npm 
sudo: npm:找不到命令

原因:
输入 which npm 查看npm命令所在的位置(这个只是我个人安装的目录)

zhng@zhng-mx:~$ which npm
/opt/node-v8.16.0-linux-x64/bin/npm

这个目录只是系统中普通用户的目录,而 sudo 执行的命令是在 /usr/bin 目录下,
所以,解决方法如下:
将用户目录下的 npm 文件创建一个链接到 sudo 的执行目录下,让 sudo 也能找得到这个文件,就可以愉快的执行命令了
网上大神都这么说的,但是我这么操作死活不成功
https://blog.csdn.net/lmmilove/article/details/30066489

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

最后我就换了个方法,先进入到了 /usr/bin 的目录下,然后在执行上面的命令。

zhng@zhng-mx: cd /usr/bin$
zhng@zhng-mx:/usr/bin$ sudo ln -s /opt/node-v8.16.0-linux-x64/bin/npm
zhng@zhng-mx:/usr/bin$ sudo ln -s /opt/node-v8.16.0-linux-x64/bin/node

然后查看一下:

zhng@zhng-mx:~$ which npm
/usr/bin/npm

命令路径成功改变!
现在再去执行 sudo npm install -g xxx 发现没有问题了
虽然不知道这波操作科不科学,但是最后成功了!
我的菜鸟小笔记

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,818评论 0 10
  • 进入带空格的文件或者文件夹 Linux文件权限详解 文件和目录权限概述 在linux中的每一个文件或目录都包含有访...
    annkee阅读 2,707评论 0 4
  • Linux习惯问题: 在vim编辑时,按了ctrl + s后,再按ctrl + q就可以继续执行了。ctrl + ...
    光着脚的鞋阅读 4,542评论 0 16
  • 与诗歌畅想春天的诗人 □巴山雪儿 ...
    巴山雪儿阅读 148评论 0 4
  • 毕棚沟位于四川省阿坝藏族羌族自治州理县朴头乡梭罗沟境内,是国内非常知名的红叶观赏圣地。景区内红叶、杜鹃花种类...
    懒极仙翁阅读 1,292评论 5 3