You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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及相关依赖安装在用户个人目录下,从根源避免权限问题:

  1. 安装nvm:
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
    
  2. 加载nvm配置:
    source ~/.bashrc
    
  3. 安装指定版本的Node.js:
    nvm install 16.17.0
    
  4. 设置该版本为默认:
    nvm alias default 16.17.0
    
  5. 安装@nestjs/cli:
    npm i -g @nestjs/cli
    

注意:不建议使用sudo npm i -g ...的方式安装,这会导致后续npm操作频繁需要sudo权限,还可能引发系统文件权限混乱。

内容的提问来源于stack exchange,提问作者Arbaz Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 18:25:36