npm install给出错误:EPERM,取消链接

时间:2015-01-08 16:44:49

标签: node.js gruntjs npm bower

使用命令npm install会出现以下错误

错误:EPERM,取消链接

系统信息: 凉亭版本:1.3.12 节点版本:0.10.35 操作系统:Windows8

我尝试了下面的解决方法,但没有解决任何问题。

  1. 清洁凉亭缓存
  2. 卸载凉亭
  3. 使用npm
  4. 更新decompress-zip
  5. 再次安装凉亭
  6. 它不适合我,请给我一些解决方案

8 个答案:

答案 0 :(得分:4)

我遇到了这个问题,在Windows 10中是。

解决方案?

要禁用该文件夹(包含package.json的文件夹)的内容索引!!

在Windows Shell(文件管理器)上,请按照以下步骤操作:

  
      
  1. 右键单击出现错误的文件夹,然后选择“属性”
  2.   
  3. 点击“高级...”按钮。
  4.   
  5. 取消选中复选框“允许此文件夹中的文件除文件属性外,还对内容进行索引”。
  6.   
  7. 按“确定”。
  8.   
  9. 在上一个“属性”对话框(再次可见)上,按“应用”
  10.   
  11. 选中单选按钮“将更改应用于此文件夹,子文件夹和文件”。
  12.   
  13. 按“确定”。
  14.   
  15. (可能需要一段时间)
  16.   
  17. 按“确定”(以关闭属性对话框)。
  18.   
  19. 工作!
  20.   

Screenshot of the infamous checkbox

答案 1 :(得分:1)

就我而言,这是权限-可能在node_modules树中,但可以肯定的是,我授予自己对整个项目树的所有权和权利,从而解决了问题。

右键单击项目文件夹,选择“属性”,然后选择“安全性”选项卡,然后单击“高级”按钮。将自己设置为所有者,并授予自己完整的权限。选中“替换所有子对象权限...”,然后单击确定。

Advanced Security Settings Dialog Box

答案 2 :(得分:1)

我的情况更加简单...一个进程仍在使用需要删除的文件夹中的一个文件。杀死负责的任务使我能够正确安装。

答案 3 :(得分:0)

您没有删除该文件所需的权限。不知何故,你导致npm / bower做了与默认的Windows权限系统冲突的事情。

删除bowernpm并重新安装它们可能最简单,然后按照此处的说明将npm更新为最新版本{ {3}}

对于可能有帮助的快速修复,请在CMD窗口中尝试此操作(您可能需要以管理员身份启动它):

 cd C:\users\path\temp
 cacls . /T /E /C /G Everyone:F

在您的临时目录上授予Everyone Full Control,这可能存在安全风险。但是,它应该使npmbower能够清理旧文件。

我建议您尝试重新安装nodenpmbower

答案 4 :(得分:0)

对我来说,删除索引已解决了我的问题。

但是重新创建文件夹后,索引又回来了。在这种情况下,解决方案是以下选项之一:

  • 永久禁用索引服务 或
  • 排除索引文件夹 或
  • 在索引选项中排除文件格式。

我在Windows 10上,此操作似乎可以永久解决我的问题。

答案 5 :(得分:0)

有一个类似的问题-npm安装可以正常工作几个月,但是我们升级了一些库并开始出现相同的错误。

最终从NPM切换到yarn,确实可行。

答案 6 :(得分:0)

我遇到了同样的错误,并且通过使用npm的正确版本的节点解决了该错误。检查您的package.json'engines'和已安装的节点版本。如果需要安装多个版本并在它们之间进行切换,则可以使用节点版本管理器:https://github.com/coreybutler/nvm-windows/releases

答案 7 :(得分:0)

我尝试过的

  • 删除node_modules文件夹
  • 删除package-lock.json
  • 运行npm clear cache --force
  • 如果文件夹中的文件是只读的,则撤消

enter image description here

  • 运行npm i再次有效