文章目录
- 一句话
- Intro
- 其他操作
一句话
sudo 某命令
改成 sudo -i 某命令
试试。
-i
会把当前用户的环境变量带过去,这样在sudo的时候,有更高的权限,有本用户的环境变量(下的程序命令)。
-i, --login run login shell as the target user; a command may also be specified
Intro
机器环境:
uname -a
Linux ubt22 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
起因是我想下载一个全局的node软件包:httpserver
npm install -g httpserver
会报错:没有权限在全局目录下写入文件sudo npm install -g httpserver
会报错:sudo: npm: command not found
继续改:
3. sudo -i npm install -g httpserver
,这下可以了。
NOTE:我加了这样的改动-i
就可以了,不代表其他所有情况都可以用这种方式解决问题。
【具体情况,具体分析】,本例可以只作为参考。
其他操作
如果还是不行,可以先切换到root用户,然后执行一些环境变量相关的脚本文件。
比如:
su root
source /etc/profile