文章目录
- 一句话
- 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 rootsource /etc/profile