当我执行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)
}

其他回答

经过多次尝试,我用以下步骤解决了这个问题:

 0. Run `cmd` or `powershell` as admin

NPM Clean cache——force 删除%AppData%/npm-cache/的内部 删除%临时% 删除导致错误的npm模块。对我来说是iconv。所以删除了iconv和iconv-lite 当我再次构建时,我得到了失败的原因作为应用程序构建器内的病毒。我在节点模块上运行了windows防御程序并删除了病毒。然后,重新构建。 这一次我成功了。

只需从npm全局包的路径中删除包文件夹。然后重新安装。 注意,这些包是全局安装在: C:\Users\your-name\AppData\Roaming\npm\ node_modules

我在windows 10中也遇到了同样的问题。 只需遵循以下步骤:

以管理员身份打开cmd。 安装更新的NPM包。 I -g NPM NPM init——是的

我关闭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相同。

如果你想避免——force选项(这总是一个更好的方法),我建议确保你已经停止运行项目,因为这通常是锁定文件的主要原因,在我所见过的90%的情况下

我建议按照以下顺序:

1-在Angular中停止ng,在React中停止npm start通常可以解决这个问题,因为通常这个错误发生在开发服务器正在运行项目时,因为它锁定了一些文件,然后npm无法更新它们,从而抛出这个错误

2-如果上面没有工作,那么尝试关闭有工作空间打开的代码编辑器(可能它锁定了一些文件或其他东西)

所以尝试关闭代码编辑器并运行:

npm install

3-如果还是不行,也许你可以试试——force选项

npm install --force