2016-12-27 111 views
0

每当我尝试一个新的软件包安装到我的项目,NPM随机删除旧的包,我有再抛出这个错误:NPM被删除旧的包

npm ERR! Error: EPERM: operation not permitted, rename 'C:\wamp\www\react_projects\Nasss\node_modules\axios' -> 'C:\wamp\www\react_projects\Nasss\node_modules\.axios.DE 
LETE' 
npm ERR!  at moveAway (C:\Program Files\nodejs\node_modules\npm\lib\install\action\finalize.js:38:5) 
npm ERR!  at destStatted (C:\Program Files\nodejs\node_modules\npm\lib\install\action\finalize.js:27:7) 
npm ERR!  at FSReqWrap.oncomplete (fs.js:82:15) 
npm ERR! 
npm ERR! Error: EPERM: operation not permitted, rename 'C:\wamp\www\react_projects\Nasss\node_modules\axios' -> 'C:\wamp\www\react_projects\Nasss\node_modules\.axios.DE 
LETE' 
npm ERR!  at Error (native) 
npm ERR! { [Error: EPERM: operation not permitted, rename 'C:\wamp\www\react_projects\Nasss\node_modules\axios' -> 'C:\wamp\www\react_projects\Nasss\node_modules\.axio 
s.DELETE'] parent: 'Nasss' } 
npm ERR! 
npm ERR! Please try running this command again as root/Administrator. 

npm ERR! Please include the following file with any support request: 
npm ERR!  C:\wamp\www\react_projects\Nasss\npm-debug.log 

是它面临的某种冲突与我已经安装了旧的软件包?

P.S:我已经有了以管理员身份运行的CMD。

+0

嗨@Raymond,npm删除一个包*随机*还是总是删除相同的包?你安装的软件包和软件包之间的依赖关系是什么? 是否有其他进程运行从axios /文件夹(例如节点)加载的文件? –

+0

@ KonstantinA.Magg,它随机删除一个包。在上面的错误中,我试图安装'react-native-device-info'和npm删除axios。 axios有这种依赖性:'“follow-redirects”:“1.0.0”'和RN设备信息在package.json中有一个空对象 – Raymond

+0

Did [my answer](https://stackoverflow.com/questions/41344172/npm -is-deleting-old-packages/41344518#41344518)以下帮助你?任何意见? – rsp

回答

0

这似乎是一个奇怪的权限问题。

看起来npm无法将目录重命名为其他名称,如果新版本未能安装,那么这些名称可能是模块的旧版本保留用于备份。

您确定您拥有相同的权限"Program Files\nodejs\node_modules"的所有子目录吗?看起来您可能对现有子目录具有不同的权限,而不是针对新子目录和/或父目录node_modules

在Unix/Linux上,我会在一行中修复它与chmodchown,但对于Windows,您将不得不通过目录并检查权限。

O也许你需要以管理员身份运行来全局更新/安装模块。这取决于您的权限和您的配置。

+0

在'Program Files \ nodejs \ node_modules/npm'的目录中,我现在设置为拥有所有应用程序包的权限。在尝试安装新软件包之前,我无法将答案标记为正确。 – Raymond