我以管理员身份打开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)
同样的工作似乎在其他机器上!
有人能帮我修一下吗?
9条答案
按热度按时间w6lpcovy1#
我最近在工作中遇到了这个问题。在我的例子中,我所做的是,我在编辑器中打开了项目(我使用VScode,这很酷:)),然后在cmd窗口中,我试图在同一个项目文件夹上运行npm install。不管我做了什么,我都会犯同样的错误。
对我来说,解决这个问题的方法是,每当我尝试执行npm install时,我都会关闭打开项目的编辑器窗口,然后从cmd窗口运行npm install。这对我来说没有任何问题。
顺便说一句,我已经观察到,这只是与windows我猜,在我的mac上我从来没有遇到过这个问题。
of1yzvn42#
运行
npm cache clean
,删除项目中的node_modules
文件夹,然后再次运行npm install
解决了这个问题!egmofgnx3#
在Windows 10下工作,我以管理员身份打开了CMD,解决了我的问题。
nimxete24#
使用
yarn
代替npm
。所以yarn install
应该取代npm install
。我在
npm 6.14.5
上,它没有工作。使用yarn 1.22.0
。我相信问题是一些竞争条件,我的猜测是,这是因为Windows文件系统比Linux文件系统慢得多,特别是如果您通过Linux WSL访问Windows文件系统(因此,如果您访问
/mnt/c/...
下的文件)。因此,在执行npm
时,它会删除文件,然后在程序中假设删除已经完成,但情况可能并非总是如此,因此出现错误。ds97pgxw5#
如果你使用的是VS Code,你可以在VS Code中打开一个终端,在那里你想运行npm install,它可以正常工作。在VS Code之外的终端中运行您的应用会导致此问题,因为同时在VS Code中打开项目文件夹会产生一些冲突。作为一般规则,我在VS Code中使用终端来安装npm,nodemon等。然后在外部终端上运行我的应用程序。
y4ekin9u6#
我有时会在macOS上使用当前的npm版本(6.4.1)。我让它工作的方法是将更改恢复到
package-lock.json
。基本上,我只执行git checkout package-lock.json
,然后npm install
就可以正常工作了t5fffqht7#
对我来说,问题是OneDrive试图同步我所在的目录。一旦我将目录移动到OneDrive不同步的位置,我就能够运行
npm install
而没有错误。gtlvzcf88#
对我来说,问题是OneDrive同步服务。该服务正在使用我的文件夹上传到服务器上。当我运行npm构建命令时,我得到了错误,因为节点无法重命名所需的文件,因为它已经被OneDrive使用。我禁用了服务,它为我工作。希望能帮上忙。
ecr0jaav9#
因为,上面的一个答案是删除node_module,如果项目足够大并且有很多模块,这将花费很多时间,而不是尝试
npm uninstall
然后删除package-json(以避免在重新安装模块时发生任何冲突)。然后是npm install
。这对我来说很好。