[问题解决]linux sudo xxx:command not found
题外话
软件的安装在linux下主要分为两种。一种是通过包管理器例如ubuntu的apt-get xxx,另一种是自己手动安装。通过包管理器安装的,基本开箱即用,无需配置,但是存在一个问题,有时候无法安装最近的程序。例如,我现在用的是ubuntu14.04,在安装nodejs的时候,就无法安装到v8这个版本。此时就需要使用手动安装。
由于是自己下载binary文件手动安装的,难免会有配置上的问题。
问题描述
由于node安装在/opt
上,所以在使用npm安装node package时,可能会出现permission denied
的error。这个时候大多数人的做法是sudo npm install xxx
。这时候问题来了,terminal提示sudo npm:command not found
。显然root用户无法使用npm命令。
问题解决
回想一下我们在安装nodejs的时候,曾今在~/.bashrc
中配置过环境变量,所以在个人用户的情况下就可以使用node和npm命令了。
因此,我们在terminal中输入echo $PATH
可以发现PATH中包含nodejs的安装目录。而sudo echo $PATH
可以发现,root用户的PATH中并没有包含nodejs的安装目录,这就是sudo时提示command not found的原因。
所以我们要做的,就是在root用户中添加上nodejs的环境变量。
su
进入root用户。- 执行
subl ~/.bashrc
此时用sublime打开的就是root的~/.bashrc - 在root的~/.bashrc的末尾添加
source /home/[your username]/.bashrc
。保存退出。 source ~/.bashrc
。此时问题就解决了。
感觉这个问题也不限于nodejs,所有sudo xxx:command not found的问题,也许都可以用这个方法解决。
网上其他的解决方法
使用软链接的方式。博主没有试过,不过据说也是可以的。
chmod -R 755 /opt/node
sudo ln -s /opt/node/bin/node /usr/bin/node
sudo ln -s /opt/node/lib/node /usr/lib/node
sudo ln -s /opt/node/bin/npm /usr/bin/npm
参考文献
- ubuntu 14.04修改root环境变量
- On EC2: sudo node command not found, but node without sudo is ok
- sudo: npm: command not found
[问题解决]linux sudo xxx:command not found的更多相关文章
- Linux下提示 bash: xxx command not found
今天在虚拟机上安装了CentOS5.5,发现运行一些很正常的诸如:init,shutdown,fdisk 等命令时,悍然提示: bash: xxx command not found. 那么,首先就要 ...
- linux命令存放 bash: xxx command not found
参考资料:http://blog.sina.com.cn/s/blog_688077cf01013qrk.html 提示:bash: xxx command not found 首先就要考虑root ...
- Linux sudo命令——sudoers文件的配置
Linux sudo命令与其配置文件/etc/sudoers 对linux有一定了解的人多少也会知道点关于sudo命令.sudo命令核心思想是权限的赋予 ,即某个命令的所属用户不是你自己,而你却有 ...
- Linux sudo 命令的应用
.note-content { font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", STHeit ...
- linux sudo命令
Sudo”是Unix/Linux平台上的一个非常有用的工具,它允许系统管理员分配给普通用户一些合理的“权利”,让他们执行一些只有超级用户或其他 特许用户才能完成的任务,比如:运行一些像mount,ha ...
- 示sudo: cd: command not found
执行sudo cd 时出现 sudo: cd: command not found 原因shell shell是一个命令解析器 所谓shell是一个交互式的应用程序. shell执行外部命令的 时候, ...
- sudo: cd: command not found
事件起因 今天在aws ubutun上忽然发现的一个问题,执行sudo cd 时出现 sudo: cd: command not found 原因 shell shell是一个命令解析器 所谓shel ...
- Linux sudo 命令使用简介
Linux sudo 命令使用简介 by:授客 QQ:1033553122 基本语法: $ sudo [-u username] [command] -u:将身份变成username的身份 #编辑/e ...
- Ubuntu解决sudo: source: command not found错误
Ubuntu Server上执行以下命令,可以看到默认打开的文件数限制为1024个. $ ulimit -n 1024 编辑/etc/profile配置文件,在最后添加一行: ulimit -SHn ...
随机推荐
- 细说"回车"和"换行"的故事
引言 最近在php还有c#以及memcache的shell当中经常看到\r\n的写法,刚开始还没注意, 不过后面感觉这样写有些不对头,\r表示回车 \n表示换行,那这样不是换行了两次吗? 为了解决疑 ...
- HttpClien Get&Post
新公司上班第二周,开始进军.Net Core,这方面的东西比较新,所以已经封装好的东西比较少,比如HttpClien之类的开源类库,找了NuGet好久,没有找到,所以先写个简陋的来用着先. 引用: u ...
- xtrabackup原理、备份日志分析、备份信息获取
一. xtrabackup备份恢复工作原理: extrabackup备份简要步骤 InnoDB引擎很大程度上与Oracle类似,使用redo,undo机制,XtraBackup在备份的时候,以read ...
- java将类和函数封装成jar,然后在别的项目中使用这个jar包
本来想用idea安装的,不过用maven生成后发现jar有20,30M肯定不对,后来还是用eclipse生成了,方便很多 环境: eclipse luna,jdk1.8_112 1.生成jar包,首先 ...
- python requests get/post
基本Get请求: #-*- coding:utf-8 -*- import requests url = 'http://www.baidu.com' r = requests.get(url) pr ...
- python中的map、filter、reduce函数
三个函数比较类似,都是应用于序列的内置函数.常见的序列包括list.tuple.str. 1.map函数 map函数会根据提供的函数对指定序列做映射. map函数的定义: map(function ...
- boost.property_tree读取中文乱码问题正确的解决方式
开发项目的时候在使用boost,在宽字符下遇到中文乱码问题 上网上看大家都是先转成utf8在进行解析的,例如: http://blog.csdn.net/hu_jiangan/article/deta ...
- js的函数返回值
今天从跟公司牛人那学到的~避免以后忘了赶快记录下来 平时JS的function的返回值可以是一个数值,也可以是一个对象({name:abc,age:123}),更可以是一个函数(这里我是第一次听说), ...
- 说说ajax上传数据和接收数据
我是一个脑袋不太灵光的人,所以遇到问题,厚着脸皮去请教大神的时候,害怕被大神鄙视,但是还是被鄙视了.我说自己不要点脸面,那是不可能的,但是,为了能让自己的技术生涯能走的更长远一些,受点白眼,受点嘲笑也 ...
- Github 开源:高效好用的对象间属性拷贝工具:升讯威 Mapper( Sheng.Mapper)
Github 地址:https://github.com/iccb1013/Sheng.Mapper 对象属性值映射/拷贝工具.不需要创建映射规则,不要求对象类型一致,适用于简单直接的拷贝操作,可以全 ...