当我执行npm install时,我得到这个错误
npm犯错!C:\projects*******\node_modules.react-async-script. delete
我以管理员身份运行cmd 我之前运行过npm cache clean 我确保所有其他应用程序没有打开任何与node_modules相关的东西
当我执行npm install时,我得到这个错误
npm犯错!C:\projects*******\node_modules.react-async-script. delete
我以管理员身份运行cmd 我之前运行过npm cache clean 我确保所有其他应用程序没有打开任何与node_modules相关的东西
当前回答
这是反病毒软件导致的典型错误。对于像我这样的情况,有一个变通办法,我不能禁用a /V(公司政策)。
你必须改变Npm包中的polyfills.js:
[NODE_HOME] / node_modules / npm / node_modules / graceful_fs / polyfills.js
看看这句话:
if (process.platform === "win32") {
在此语句中,有一个超时,在发生错误时进行重试。问题是在某些情况下,超时后,文件仍然被A/V锁定。解决方案是取出超时并让该语句循环。对前面代码的更改注释如下:
if (platform === "win32") {
fs.rename = (function (fs$rename) { return function (from, to, cb) {
var start = Date.now()
var backoff = 0;
fs$rename(from, to, function CB (er) {
if (er
&& (er.code === "EACCES" || er.code === "EPERM")
/*&& Date.now() - start < 60000*/) {
console.log("Retrying rename file: " + from + " <> " + to)
fs$rename(from, to, CB);
/*setTimeout(function() {
fs.stat(to, function (stater, st) {
if (stater && stater.code === "ENOENT")
fs$rename(from, to, CB);
else
cb(er)
})
}, backoff)*/
if (backoff < 100)
backoff += 10;
return;
}
if (cb) cb(er)
})
}})(fs.rename)
}
其他回答
我正在把Angular 13升级到14,就遇到了这个问题。 这些解决方案都不起作用,所以我只是重新启动笔记本电脑,npm I—force起作用了! 看起来好像后台有一个进程锁住了对某些node_modules文件的访问权限(你可能在某个地方运行了一个ng服务,或者由一个git bash启动,你关闭了它,但在后台一直运行)
我用的是iTerm。重新启动iTerm后,错误就消失了。
这个简单的方法对我很管用
以管理员身份打开PowerShell
执行此命令 npm我
我认为这应该与更新npm问题有关。现在你可以把npm的版本指定为8.3.1。
- name: Install latest npm version
run: npm install --global npm@8.3.1
我关闭VS,删除node_modules文件夹。
然后跑:
npm i -D -E clean-webpack-plugin@3.0.0 css-
loader@3.4.2 html-webpack-plugin@3.2.0 mini-css-
extract-plugin@0.9.0 ts-loader@6.2.1 typescript@3.7.5
webpack@4.41.5 webpack-cli@3.3.10
然后必须将属性更改为不只读node_modules文件夹,一旦它完成运行。
然后跑:
npm i @microsoft/signalr @types/node
然后在VS中打开项目和包。Json与依赖项看起来是正确的。
与其他人讨论的只读node_modules文件夹和关闭VS运行npm install over相同。