Ubuntu系统安装Vue CLI出现EACCES权限错误求助
刚安装完Ubuntu系统,尝试全局安装Vue CLI时失败,但其他npm包都能正常安装,报错信息如下:
npm WARN deprecated subscriptions-transport-ws@0.11.0:
subscriptions-transport-ws包已停止维护,推荐使用graphql-ws替代。如需迁移Apollo相关工具到graphql-ws,可参考对应文档;使用graphql-ws的通用帮助可查看其说明文档。
npm WARN deprecated source-map-resolve@0.5.3: 详见source-map-resolve的废弃说明
npm WARN deprecated resolve-url@0.2.1: 详见resolve-url的废弃说明
npm WARN deprecated urix@0.1.0: 详见urix的废弃说明
npm WARN deprecated source-map-url@0.4.1: 详见source-map-url的废弃说明
npm WARN checkPermissions 缺少对/usr/lib/node_modules的写入权限
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: 权限被拒绝,无法访问'/usr/lib/node_modules'
npm ERR! [Error: EACCES: 权限被拒绝,无法访问'/usr/lib/node_modules'] {
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/lib/node_modules'
npm ERR! }
npm ERR!
npm ERR! 操作被操作系统拒绝。
npm ERR! 很可能当前用户没有访问该文件的权限
npm ERR!
npm ERR! 如果你认为这是权限问题,请仔细检查文件及其所在目录的权限,或尝试以root/管理员身份重新运行命令。npm ERR! 本次运行的完整日志可在以下路径找到:
npm ERR! /home/m/.npm/_logs/2022-08-17T06_58_04_490Z-debug.log
解决方法
方法1:临时使用root权限安装(不推荐长期使用)
执行安装命令时加上sudo,输入用户密码后即可完成安装,但这种方式可能导致后续全局npm包的权限问题:
sudo npm install -g @vue/cli
方法2:修改npm全局安装目录权限(推荐)
通过配置用户专属的全局目录,避免权限问题:
- 创建用户专属的npm全局目录:
mkdir -p ~/.npm-global
- 配置npm使用该目录作为全局安装路径:
npm config set prefix '~/.npm-global'
- 编辑
~/.profile文件,将新目录添加到系统环境变量:
nano ~/.profile
在文件末尾添加一行:
export PATH=~/.npm-global/bin:$PATH
- 让环境变量立即生效:
source ~/.profile
- 现在可以正常全局安装Vue CLI:
npm install -g @vue/cli
内容的提问来源于stack exchange,提问作者Termin

