NodeJS 如何解决npm安装过程中的重命名错误

2izufjch  于 2023-06-05  发布在  Node.js
关注(0)|答案(9)|浏览(613)

我以管理员身份打开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)

同样的工作似乎在其他机器上!
有人能帮我修一下吗?

w6lpcovy

w6lpcovy1#

我最近在工作中遇到了这个问题。在我的例子中,我所做的是,我在编辑器中打开了项目(我使用VScode,这很酷:)),然后在cmd窗口中,我试图在同一个项目文件夹上运行npm install。不管我做了什么,我都会犯同样的错误。
对我来说,解决这个问题的方法是,每当我尝试执行npm install时,我都会关闭打开项目的编辑器窗口,然后从cmd窗口运行npm install。这对我来说没有任何问题。
顺便说一句,我已经观察到,这只是与windows我猜,在我的mac上我从来没有遇到过这个问题。

of1yzvn4

of1yzvn42#

运行npm cache clean,删除项目中的node_modules文件夹,然后再次运行npm install解决了这个问题!

egmofgnx

egmofgnx3#

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

nimxete2

nimxete24#

使用yarn代替npm。所以yarn install应该取代npm install
我在npm 6.14.5上,它没有工作。使用yarn 1.22.0
我相信问题是一些竞争条件,我的猜测是,这是因为Windows文件系统比Linux文件系统慢得多,特别是如果您通过Linux WSL访问Windows文件系统(因此,如果您访问/mnt/c/...下的文件)。因此,在执行npm时,它会删除文件,然后在程序中假设删除已经完成,但情况可能并非总是如此,因此出现错误。

ds97pgxw

ds97pgxw5#

如果你使用的是VS Code,你可以在VS Code中打开一个终端,在那里你想运行npm install,它可以正常工作。在VS Code之外的终端中运行您的应用会导致此问题,因为同时在VS Code中打开项目文件夹会产生一些冲突。作为一般规则,我在VS Code中使用终端来安装npm,nodemon等。然后在外部终端上运行我的应用程序。

y4ekin9u

y4ekin9u6#

我有时会在macOS上使用当前的npm版本(6.4.1)。我让它工作的方法是将更改恢复到package-lock.json。基本上,我只执行git checkout package-lock.json,然后npm install就可以正常工作了

t5fffqht

t5fffqht7#

对我来说,问题是OneDrive试图同步我所在的目录。一旦我将目录移动到OneDrive不同步的位置,我就能够运行npm install而没有错误。

gtlvzcf8

gtlvzcf88#

对我来说,问题是OneDrive同步服务。该服务正在使用我的文件夹上传到服务器上。当我运行npm构建命令时,我得到了错误,因为节点无法重命名所需的文件,因为它已经被OneDrive使用。我禁用了服务,它为我工作。希望能帮上忙。

ecr0jaav

ecr0jaav9#

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

相关问题