React项目执行npm start时出现EACCES权限拒绝错误求助
React项目执行npm start时出现EACCES权限拒绝错误求助
兄弟,我之前也踩过类似的npm权限坑,先帮你梳理下你遇到的问题:
你在启动React项目时,终端抛出了EACCES权限错误,具体是没法创建/Users/samarbekovachynara/Desktop/my-app/node_modules/.cache目录;而且之前创建React App时还碰到过/usr/local/lib/node_modules的权限问题,清理npm缓存后又出现了新的这个报错。
给你几个亲测有效的解决办法,按顺序试试:
修复项目node_modules目录的权限
这个报错核心是当前用户没有操作node_modules/.cache目录的权限,直接把整个node_modules目录的所有者改成当前用户就行:sudo chown -R $USER:$USER /Users/samarbekovachynara/Desktop/my-app/node_modules执行完这个命令后,再试试
npm start,大概率能解决当前的.cache目录创建问题。解决全局npm目录的权限隐患(避免后续再出问题)
你之前碰到的/usr/local/lib/node_modules权限问题,说明全局npm目录的权限可能不对,推荐配置npm使用用户本地的全局目录,彻底避开权限问题:- 创建一个本地全局目录:
mkdir ~/.npm-global - 配置npm使用这个目录作为全局安装前缀:
npm config set prefix '~/.npm-global' - 把这个目录添加到系统PATH里(根据你用的shell,修改对应的配置文件,比如bash是
~/.bashrc,zsh是~/.zshrc):echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc - 让配置生效:
source ~/.zshrc
- 创建一个本地全局目录:
清理依赖后重新安装
如果上面的方法还不行,可以试试彻底清理依赖后重装:rm -rf node_modules package-lock.json npm install重装完成后再启动项目,应该能解决缓存相关的权限问题。
⚠️ 注意:尽量不要用sudo npm start或者sudo npm install,虽然临时能解决,但会把依赖目录的所有者改成root,后续会出现更多权限问题,得不偿失。
备注:内容来源于stack exchange,提问作者chikaaa
相关产品推荐
相关产品推荐

