当我执行“npm install”时,我收到此错误
npm ERR! Error: EPERM: operation not permitted, rename C:\projects\******\node_modules\react-async-script' -> 'C:\projects\*******\node_modules\.react-async-script.DELETE'
答案 0 :(得分:52)
在我的情况下,它有所帮助:
使用
清理缓存npm install -g npm@latest --force
以管理员身份全局安装最新版本的npm:
npm cache clean --force
使用
清理缓存{{1}}
尝试再次安装您的组件。
我希望这可以解决您的问题。如果没有帮助,请尝试暂时切换防病毒程序并重复。
答案 1 :(得分:16)
即使在磁盘上存在本地副本,尝试使用force选项进行npm安装时也能正常工作以获取远程资源。尝试运行
npm install --force
<强>更新强> 对于我的一些同事来说,这个解决方案无效。但我们尝试使用yarn而不是npm。它工作(也更快)没有任何问题
yarn install [package-name]
答案 2 :(得分:12)
如果您想避开--force
选项(这总是更好的方法), 我建议您确保已停止运行该项目,如这通常是在我看到的几乎90%的案例中锁定文件的主要原因
1-在Angular停止ng s
和React停止npm start
通常解决此问题,因为如果开发服务器正在运行项目,通常会发生此错误,因为它会锁定某些文件&amp;然后npm无法更新它们因此抛出此错误
2- 如果上述方法不起作用,请尝试关闭在其中打开工作区的代码编辑器(可能是锁定某些文件或其他内容)
所以尝试关闭代码编辑器&amp;运行:
npm install
3- 如果仍然不起作用,那么您可以尝试--force
选项
npm install --force
答案 3 :(得分:9)
不是package.json
,但无论出于何种原因,我的node_modules/
已变为只读。重置修复此问题。
答案 4 :(得分:9)
我遇到了同样的错误,根据https://github.com/Medium/phantomjs/issues/19,它可能是由您的防病毒软件引起的。我在安装期间禁用了我的并执行了#34; npm install&#34;在cmd上作为管理员,它工作。 希望这会有所帮助。
答案 5 :(得分:7)
我得到了同样的东西。我没有在任何地方找到这个,但它让我觉得我们的VM往往会将文件更改为只读状态。因此,我打开了package.json
的文件属性,并在“常规”标签中取消选择了Read-only
。
<强>步骤强>
package.json
文件。答案 6 :(得分:5)
对我来说,我只是关闭了代码编辑器(VS Code),然后运行相同的命令。这样就为我解决了这个问题。
答案 7 :(得分:4)
我在Windows中多次遇到此问题 我通常会按顺序尝试这些。
通常在其中一个步骤解决后尝试npm install。
答案 8 :(得分:4)
就我而言,某些东西被锁定,快速重启解决了该问题。
答案 9 :(得分:3)
这是Antivirus引起的典型错误。像我这样的案例有一个解决方法,我无法禁用A / V(公司政策)。
您必须更改polyfills.js
内Npm
包:
[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)
}
答案 10 :(得分:2)
更新到npm到5.4.2之后我遇到了同样的问题,npm start为大多数npm命令提供相同的错误。一些解决方案建议使用--no-optional:
运行它它总是不起作用。
其他建议降级,我不想降级。
我怀疑安装有问题,不确定它是什么。
所以我重新更新了我的npm:
npm i -g npm
从那时起工作正常。
答案 11 :(得分:2)
只需关闭VS Code即可为我解决问题
答案 12 :(得分:1)
以管理员身份打开命令提示符,并导航到项目位置,然后运行npm install。它对我有用。
答案 13 :(得分:1)
对于在npm: v6.9.0
上运行node: v10.16.1
&& Windows
的情况,我必须以管理员身份运行CLI(git bash) 。然后安装软件包,没有任何警告/错误
答案 14 :(得分:1)
如果您在PHP Storm上遇到问题:
答案 15 :(得分:1)
我正在VSCode中使用终端,我意识到我正在使用bash
终端而不是node
终端。
答案 16 :(得分:1)
我使用的是 macOS catalina,
npm init
我有错误
operation not permitted, uv_cwd
在 2021 年,您可以通过这种方式解决此问题。
很简单:
步骤 1:转到父文件夹
cd ../
第 2 步:再次转到您的项目文件夹,
cd your-project-folder
就是这样。它有效。
答案 17 :(得分:1)
对于某些用户来说,AppRoot \ npm文件夹可能是一个问题。有时,AppRoot文件夹被标记为网络共享,因此Antivirus阻止了这些内容。请点击下面的链接以获取完整的解决方案。
https://alastaircrabtree.com/fixing-intermittant-eperm-operation-not-permitted-on-npm-install/
我希望这会有所帮助。
答案 18 :(得分:1)
我有同样的问题。错误的原因是文件路径中不支持的字符。代替了西里尔的西里尔字母-它有所帮助。
答案 19 :(得分:1)
scandir
:,npm失败了
npm install -g webpack
...这可能是由于npm试图“修改”可能被其他进程(如{0}}和其他一些github线程所锁定的文件所造成的。在强制清理缓存,验证缓存,以管理员身份运行,禁用AV等之后,实际为我工作的解决方案是关闭任何可能锁定文件的东西(即重新启动计算机) 。
我希望这可以帮助有人挣扎。
答案 20 :(得分:0)
我正在使用 iTerm。重新启动 iTerm 后,错误消失了。
答案 21 :(得分:0)
就我而言,我只是使用 cmd 以管理员身份运行 npm install
答案 22 :(得分:0)
node_modules
文件夹很可能变成了Read Only
。您可以尝试更新文件夹权限,但是如果您没有管理员访问权限,则npm install --force
将起作用。
答案 23 :(得分:0)
以管理员身份运行CLI始终为我解决问题
答案 24 :(得分:0)
我遇到了同样的问题,在 npm cache clear
和 cmd
中使用了 open as Adminitrator
命令。关闭 VScode 并重新打开它。它奏效了。
答案 25 :(得分:0)
这些步骤为我解决了
转到文件资源管理器中的package.json文件 右键单击并选择属性。 取消选择只读。 点击应用
注意:(如果已取消选中它,则选中并取消选中只读一次,然后单击“应用”)
答案 26 :(得分:0)
经过大量尝试,我通过以下步骤解决了这个问题:
0. Run `cmd` or `powershell` as admin
npm clean cache --force
iconv
。因此已删除iconv
和iconv-lite
app-builder
中发现失败原因是病毒。我在节点模块上运行Windows Defender,并删除了该病毒。然后,再次构建。答案 27 :(得分:0)
我关闭了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中打开备份项目,package.json与依赖项看起来正确。
与其他人一样,谈论对node_modules文件夹的只读操作以及关闭VS以运行npm install over。
答案 28 :(得分:0)
关闭PHPStorm为我解决了这个问题。
答案 29 :(得分:0)
就我而言,在Visual Studio代码中将typescript.disableAutomaticTypeAcquisition
设置为true
似乎很有帮助。
答案 30 :(得分:0)
这可能是由于您的防病毒软件所致。如果无法禁用AV,则可以尝试修改NPM全局安装位置,因为节点将安装到由AV Engines主动监视的APPDATA目录中。尝试运行以下命令-
npm配置设置前缀“您的自定义位置” npm配置设置缓存“您的自定义位置”
删除node_modules目录,然后重新安装软件包。
答案 31 :(得分:0)
我也为此苦苦挣扎。 我最终确定了一个使用nvm可以正常工作的解决方案:
cd ~/.nvm/versions/node/{your node version}/lib/
npm install npm
就是这样。
答案 32 :(得分:0)
我使用元数据标志重新安装了窗口磁盘,并立即提供了帮助:https://devblogs.microsoft.com/commandline/chmod-chown-wsl-improvements/
此后,不再需要对npm命令使用sudo,因为元数据可以检查Windows和Linux文件/目录的权限。
答案 33 :(得分:0)
以超级管理员身份运行命令对我有用。关闭正在使用的编辑器后重试。
答案 34 :(得分:0)
正如Martin Kearn在评论中指出的那样,关闭Visual Studio 为我解决了这些npm权限问题。显然,VS有时会将文件锁定在100 * log n
中。
答案 35 :(得分:0)
我在Windows 10中遇到了同样的问题。 只需执行以下步骤:
以管理员身份打开cmd。
安装更新的npm软件包。
npm i -g npm
npm init-是
答案 36 :(得分:0)
只需从npm全局软件包的路径中删除软件包文件夹。然后重新安装该软件包。 请注意,这些软件包是全局安装在: C:\ Users \您的名称\ AppData \ Roaming \ npm \ node_modules
答案 37 :(得分:0)
我做了以下事情:
npm install -g
npm@6.5.0-next.0
c:/users/[username]/AppData/Roaming/npm-cache
npm cache clean --force
npm install
。答案 38 :(得分:0)
我的回答是首先npm cache clean --force
。然后运行npm install -g npm@5.3.0
以安装npm 5.3.0版本。对我来说,这个npm版本没有问题。
答案 39 :(得分:-1)
我多次遇到此问题。 事实证明,这与权限,缓存等无关。错误消息具有误导性。 对于节点v 6.x,您将看到更详细的错误堆栈,但不会在7.x之后看到 对于我和我的大学来说,问题在于超时功能。基本上,当npm尝试删除软件包时,软件包安装尚未完成(即保留目录)。在节点6.x中,您现在可以在finalize.js中看到它消失了! 只需使用纱线即可。