npm - EPERM:Windows上无法执行操作

212

我跑了

npm config set prefix /usr/local

运行该命令后,当我尝试在Windows操作系统上运行任何npm命令时,始终会收到以下提示。

Error: EPERM: operation not permitted, mkdir 'C:\Program Files (x86)\Git\local'
at Error (native)

已从所有文件中删除

C:\Users\<your username>\.config\configstore\

它没有起作用。

有什么建议吗?


64
运行 npm cache clean --force 解决了我的问题。 - Nuhman
4
运行两次 npm cache clean --force 对我有效。 - VIshal Jain
2
你是在 cmd.exe 的“终端”(命令提示符)中运行它还是从 GitBash 终端中运行的?对我来说,当我在 GitBash 中运行它时失败了,但是当我在 cmd 中运行它时正常工作。 - Henke
1
今天我甚至在 cmd.exe 中遇到了 EPERM 错误。但是我在 C:\Program Files\nodejs 目录下运行了以下命令,似乎它起作用了:npm cache clean --force && npm install <package-name> --force --global。我还将 C:\Program Files\nodejs\node_modules 添加到了系统的 PATH 环境变量中。 - Henke
1
屏幕截图:https://i.imgur.com/VLFS7lG.png。但最好先尝试 https://dev59.com/RV0Z5IYBdhLWcg3w-ETS#44014485。 - Henke
显示剩余4条评论
49个回答

11

我遇到了相同的问题,在更新npm后。通过重新安装最新的npm解决了它:

我遇到了相同的问题,在更新npm后。通过重新安装最新的npm解决了它:

npm i -g npm

但这一次在以管理员模式下运行cmd。

我做了这一切是因为我怀疑更新存在问题,主要是一些文件缺失。


8

对我来说,这是一个关于修改node_module中现有文件夹的问题,所以我删除了整个文件夹并重新运行npm install。之后就没有错误了。


7

我遇到的问题(在Windows计算机上)

当我尝试安装几个npm包时,出现了以下错误:

npm - EPERM:操作不允许 - 当npm试图重命名文件时

如果你也遇到了类似的问题,这里是我的调试片段供参考:

我遇到的问题

经过仔细查看其他用户的答案,我为社区创建了一个详细的答案。

解决方案

按照以下步骤操作:

  1. 右键点击项目文件夹
  2. 转到 属性 -> 安全选项卡
  3. 选择 用户 -> 编辑
  4. 用户权限部分中,完全控制 -> 在允许中打勾 -> 确定
  5. 等待Windows安全应用新的安全规则
  6. 点击确定

步骤可视化

更改安全规则

如果你按照这些步骤操作并尝试再次安装npm包,它将正常工作。

注意:重启命令行以体验更改是最佳实践。


5

只需以管理员身份运行cmd。删除旧的node_modules文件夹,然后再次运行npm install。


3
npm安装应该可以在非管理员启动CMD的情况下工作。在普通CMD(非管理员)上无法工作也是一个问题。 - Lahar Shah

4

最简单的方法

希望我没有为这篇文章迟到,但最近我也遇到了这个问题。而且我在笔记本电脑上没有管理员权限。

以下是我修复该错误的最简单方法。

  1. 找到文件名.npmrc(它将位于C:\Users\<user name>\.npmrc
  2. 打开它并将prefix=的路径更改为prefix=C:\Users\<user name>\AppData\Roaming\npm

希望这会有所帮助。


4

这种情况可能是由于另一个进程锁定了文件夹/文件。使用工具(LockHunter)终止该进程后,它又可以正常工作了。


4

这个错误由不同的问题引起,请尝试下面的解决方法之一,其中一个将适用于您!

  • try to run npm as Administrator

  • Run cmd as administrator npm config edit (You will get notepad editor) Change Prefix variable to C:\Users\<User Name>\AppData\Roaming\npm

  • The errors went after I disabled my anti-virus (Avast)

  • Sometimes a simple cache clear like the below would fix it.

     npm cache clear
    

3

如果你在IDE的终端/命令提示符中遇到这个错误,请尝试删除node_modules,关闭IDE,然后再次运行npm install命令。

当IDE启动但仍未完成对node_modules树的分析时,这是一个棘手的时刻,在这个时刻包的安装可能会失败,因为IDE仍在扫描node_modules的内容。


2
npm install cross-env

尝试一下,这对我有效。

2
在Windows Powershell中运行npm命令解决了我的问题。

我正在使用我的公司笔记本电脑工作,经常遇到代理或某些安全问题。我尝试了这里提到的许多方法,最后做了这个,对我有效。但是,不确定仅仅这样做是否足够。 - chandraprakash-dev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接