Ubuntu 20.04下无法安装@nestjs/cli的权限问题求助
解决Ubuntu 20.04下全局安装@nestjs/cli的EACCES权限错误
以下是几种安全可行的解决方案,按推荐优先级排序:
方案1:自定义npm全局安装目录(最推荐)
通过将npm全局包安装到用户自有目录,彻底规避系统目录权限问题:
- 创建专属全局npm目录:
mkdir -p ~/.npm-global - 配置npm使用该目录作为全局包前缀:
npm config set prefix '~/.npm-global' - 将该目录的bin路径添加到shell环境变量(以bash为例):
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc - 立即生效配置:
source ~/.bashrc - 重新执行安装命令:
npm i -g @nestjs/cli
方案2:修复系统目录权限
如果不想变更全局安装目录,可直接将系统全局包目录的权限赋予当前用户:
sudo chown -R $USER:$USER /usr/local/lib/node_modules
执行完成后重新运行npm i -g @nestjs/cli即可。
方案3:使用nvm管理Node.js版本(长期维护方案)
nvm会将Node.js及相关依赖安装在用户个人目录下,从根源避免权限问题:
- 安装nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash - 加载nvm配置:
source ~/.bashrc - 安装指定版本的Node.js:
nvm install 16.17.0 - 设置该版本为默认:
nvm alias default 16.17.0 - 安装@nestjs/cli:
npm i -g @nestjs/cli
注意:不建议使用
sudo npm i -g ...的方式安装,这会导致后续npm操作频繁需要sudo权限,还可能引发系统文件权限混乱。
内容的提问来源于stack exchange,提问作者Arbaz Khan
相关产品推荐
相关产品推荐

