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

使用npm全局安装nodemon时遭遇EACCES权限错误求助

解决全局安装nodemon的EACCES权限问题

方案1:修复npm全局目录权限归属

直接调整系统全局node_modules目录和npm缓存目录的所有者为当前用户,从根源解决权限问题:

  • 查看全局node_modules目录的权限信息:
    ls -ld /usr/local/lib/node_modules
    
  • 将目录所有者修改为当前用户($USER会自动获取当前用户名):
    sudo chown -R $USER:$GROUP /usr/local/lib/node_modules
    
  • 同步修改npm缓存目录的权限:
    sudo chown -R $USER:$GROUP ~/.npm
    
  • 执行全局安装命令:
    npm i -g nodemon
    

方案2:用nvm管理Node.js环境

通过nvm在用户目录下独立管理Node版本,全局包会安装在用户权限范围内的目录,彻底规避系统权限限制:

  • 安装nvm(Linux/macOS执行以下命令,Windows可下载官方安装包):
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
    
  • 重启终端后,安装LTS版本的Node.js:
    nvm install --lts
    
  • 设置该版本为默认Node环境:
    nvm alias default node
    
  • 直接安装nodemon,无需sudo:
    npm i -g nodemon
    

方案3:自定义npm全局包安装目录

临时指定全局包安装到用户目录下的自定义文件夹,无需修改系统目录权限:

  • 在用户目录创建全局包存储文件夹:
    mkdir ~/.npm-global
    
  • 配置npm使用该目录作为全局包前缀:
    npm config set prefix '~/.npm-global'
    
  • 将自定义目录添加到系统PATH(bash用户编辑~/.bashrc,zsh用户编辑~/.zshrc):
    echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
    
  • 刷新终端配置:
    source ~/.bashrc
    
  • 执行安装命令:
    npm i -g nodemon
    

方案4:清理残留目录后重新安装

如果是之前安装残留的nodemon目录导致权限冲突,先手动清理再安装:

  • 强制删除系统中残留的nodemon目录:
    sudo rm -rf /usr/local/lib/node_modules/nodemon
    
  • 清理npm缓存:
    npm cache clean --force
    
  • 重新执行全局安装:
    npm i -g nodemon
    

内容的提问来源于stack exchange,提问作者Rishabh Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 19:06:21