如何在npm安装期间解决重命名错误

时间:2017-06-30 00:51:55

标签: node.js npm npm-install

我以管理员身份打开了cmd窗口并在文件夹上运行了npm install,在某一点上出现了这个错误:

npm ERR! Error: EPERM: operation not permitted, rename 'MyFolder\node_modules\.staging\@angular\common-54da66e9' -> 'MyFolder\node_modules\@angular\common'
npm ERR!     at destStatted (C:\Program Files\nodejs\node_modules\npm\lib\install\action\finalize.js:25:7)
npm ERR!     at C:\Program Files\nodejs\node_modules\npm\node_modules\graceful-fs\polyfills.js:264:29
npm ERR!     at FSReqWrap.oncomplete (fs.js:123:15)

同样似乎在其他机器上工作!

有人可以帮我解决这个问题吗?

6 个答案:

答案 0 :(得分:2)

我最近在工作地点遇到过这个问题。在我的情况下,我正在做的是,我在编辑器中打开了项目(我使用VScode,这很酷:))然后在cmd窗口中我试图在同一个项目文件夹上运行npm install。无论我做了什么,我都得到同样的错误。

解决这个问题的方法是,每当我尝试执行npm install时,我会关闭打开项目的编辑器窗口,然后从cmd窗口运行npm install。这对我没有任何问题。

顺便说一句,我发现这只是在Windows上,我猜我在Mac上从未遇到过这个问题。

答案 1 :(得分:1)

使用yarn代替npm。因此,yarn install应该替换npm install

我在npm 6.14.5上不起作用。它可以与yarn 1.22.0一起使用。

我认为问题在于某些竞争状况,我的猜测是这是因为Windows文件系统比Linux文件系统慢得多,尤其是如果您通过Linux WSL访问Windows文件系统(因此,如果您访问/mnt/c/...下的文件。因此,在执行npm的某处它会删除文件,然后在程序中稍后会假定删除已完成,并且并非总是如此,因此会出错。

答案 2 :(得分:0)

运行" npm cache clean",删除项目中的node_modules文件夹,然后运行" npm install"再次,修好了!

答案 3 :(得分:0)

在Windows 10下工作我以管理员身份打开了CMD,解决了我的问题。

答案 4 :(得分:0)

有时我会在具有当前npm版本(6.4.1)的macOS上获得此信息。我的工作方式是将更改还原为package-lock.json。基本上,我只是做git checkout package-lock.json,然后npm install可以正常工作

答案 5 :(得分:0)

因此,上面的答案之一是说,如果项目足够大且具有许多模块,则删除node_module会花费很多时间,而不是尝试npm uninstall然后删除package-json(以避免重新安装模块时发生任何冲突)。之后npm install。这对我来说很好。