通过终端全局安装nodemon报错EACCES权限不足如何解决?
问题原因
报错是当前用户无 /usr/local/lib/node_modules 目录的写入权限,属于npm全局安装时的常见权限类问题。
解决方法
方法1:临时提权安装(仅适合应急使用,不推荐长期操作)
在安装命令前加sudo,输入当前用户登录密码即可完成安装:sudo npm install -g nodemon方法2:修改全局node_modules目录所属权限(适合单用户使用的设备)
将/usr/local/lib/node_modules目录的所有者修改为当前用户,后续所有全局安装无需再单独提权:sudo chown -R $USER /usr/local/lib/node_modules执行完成后再运行原安装命令即可:
npm install -g nodemon方法3:修改npm全局包默认安装路径(最安全,不会改动系统目录权限)
- 在当前用户目录下创建专属的npm全局包存放目录:
mkdir ~/.npm-global- 配置npm使用新路径作为全局安装目录:
npm config set prefix '~/.npm-global'- 将新全局包的bin目录添加到系统环境变量:打开你正在使用的shell配置文件(常见为
~/.bashrc、~/.zshrc),在文件末尾添加如下内容:
export PATH=~/.npm-global/bin:$PATH- 重载配置文件使修改生效:
# 使用bash的用户执行 source ~/.bashrc # 使用zsh的用户执行 source ~/.zshrc配置完成后重新运行全局安装命令即可正常使用。
内容的提问来源于stack exchange,提问作者praveen
相关产品推荐
相关产品推荐

