问题
Error: EACCES: permission denied, rename /xx/xx/.staging/node_modules/xx/xx ->/xx/xx/node_modules/.staging/node_modules/xx/yy
背景
npm i egg-bin 时出现了这个问题
还试了一些其他的,
npm i moment没有问题
npm i cnpm会出这个问题
笔者尝试了
- npm config set unsafe-perm=true
- 各种sudo
- npm cache clean -f
- 带-D,或者-S
- npm install -g npm 这个也会报这个错
- 新建一个全局npm_global,重新设置prefix
等等方法
后来我想它的错误信息是不能重新命名/xx/xx/node_modules/.staging/node_modules/xx/xx -> /xx/xx/node_modules/.staging/node_modules/xx/yy
但是.staging是在下载时出现的临时文件夹,安装完成后会消失,况且这里是直接失败,自然就看不到里面的情况了。
解决
既然npm不行就换一个试一下其他的包管理工具
1.npm i yarn -g
2.yarn add egg-bin
安装成功,但是还是纠结npm的这个问题,
还有yarn为什么没有这个权限问题,望大佬解释
如果有更好的方法,或者解决这个问题的其他可能性欢迎大家在评论区交流