npm - EPERM:Windows上不允许操作

Lah*_*hah 82 javascript node.js npm bower npm-install

我跑了

npm config set prefix /usr/local
Run Code Online (Sandbox Code Playgroud)

运行该命令后,当尝试在Windows操作系统上运行任何npm命令时,我会继续进行以下操作.

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

已删除所有文件

C:\Users\<your username>\.config\configstore\
Run Code Online (Sandbox Code Playgroud)

那没起效.

有什么建议吗?

Lah*_*hah 77

运行此命令是我的错误.

npm config set prefix/usr/local

路径/usr/local不适用于Windows.此命令更改了前缀变量at'C:\Program Files (x86)\Git\local'

要访问并更改此目录,我需要以管理员身份运行我的cmd.

所以我做了:

  1. 以管理员身份运行cmd
  2. 运行npm config edit(你会得到记事本编辑器)
  3. prefix变量更改为C:\Users\<User Name>\AppData\Roaming\npm

然后npm start在普通控制台中工作.

  • 这也解决了我的问题(Windows 10),谢谢. (3认同)
  • 只需以管理员身份重新运行即可解决我的问题。 (3认同)

lit*_*ito 25

我通过更改旧版本的Windows用户访问权限来解决问题:

这是一个截图:http: //prntscr.com/djdn0g

在此输入图像描述


小智 24

发生这种情况是因为Windows未授予用户在系统驱动器内创建文件夹的权限.要解决这个问题:

右键点击

__CODE__

点击

__CODE__

并为该用户提供完全控制权.

  • 授予用户更改系统文件夹的权限并不是一个好主意,尤其是当可以通过更改用户主目录中的文件夹的前缀来轻松解决此问题时。 (3认同)
  • 添加一些解释,回答这个答案如何帮助OP解决当前问题 (2认同)
  • 这不适用于您不是系统管理员的公司笔记本电脑。 (2认同)

Leo*_*ira 22

我最近遇到了同样的问题,当我升级到新版本时,唯一的解决方案就是降级

要卸载:

npm uninstall npm -g
Run Code Online (Sandbox Code Playgroud)

安装以前的版本:

npm install npm@5.3 -g
Run Code Online (Sandbox Code Playgroud)

尝试在另一个时刻更新版本.

  • 降级到5.3也适合我. (2认同)
  • 同样在这里.看起来升级npm是个问题 (2认同)

Leg*_*nds 20

重新启动 VsCode为我解决了它!

  • 我很沮丧我花了30分钟在这上面。 (2认同)

小智 17

有时,所需的只是在安装/更新软件包之前停止开发服务器.


Lat*_*nis 13

我有一个过时的版本npm。我运行了一系列命令来解决这个问题:

npm cache clean --force
Run Code Online (Sandbox Code Playgroud)

然后:

npm install -g npm@latest --force
Run Code Online (Sandbox Code Playgroud)

然后(再次):

npm cache clean --force
Run Code Online (Sandbox Code Playgroud)

最后能够运行这个(安装 Angular 项目)而没有我看到的错误EPERM

ng new myProject
Run Code Online (Sandbox Code Playgroud)


Asw*_*ath 10

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

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

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

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

我面临的问题

在仔细查看其他用户的答案后,我为社区创建了详细的答案

我的问题解决方案

按照上述步骤操作

  1. 右键单击项目文件夹
  2. properties -> Security Tab
  3. 选择Users -> Edit
  4. 在该Permission for Users部分中,Full control-> Give a check mark in Allow->OK
  5. 等待 Windows 安全应用新的安全规则
  6. 点击OK

步骤可视化

更改安全规则

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

注意:最佳实践是关闭并再次打开命令行以体验更改


Lir*_*n H 9

当我尝试安装 npm 包时,我遇到了同样的问题AVA。对我来说,解决方案是删除 node_modules 文件夹并强制清理 npm 缓存:

rm -rf node_modules
npm cache clean --force
Run Code Online (Sandbox Code Playgroud)

然后我就可以毫无问题地安装 npm 包了。


Sha*_*wat 9

就我而言,我遇到此错误是因为在运行时,我的目录及其文件是在编辑器(VS代码)中打开的npm install。我通过关闭编辑器并npm install通过命令行运行来解决了该问题。


Sal*_*d83 7

更新npm后,我遇到了同样的问题。通过重新安装最新的npm来解决此问题:

npm i -g npm
Run Code Online (Sandbox Code Playgroud)

但是这一次,cmd在管理模式下运行。

我这样做是因为我怀疑更新存在问题,主要是一些丢失的文件。


小智 7

我使用Windows 10.我以管理员身份启动了CMD,它解决了这个问题.

找到CMD,右键单击,然后单击"以管理员身份打开".

  • **不是一个好的解决方案,应该在正常的CMD /控制台上工作** (2认同)

Son*_*oul 5

对我来说,这是更改node_module中现有文件夹的问题,因此我取消了整个文件夹并再次运行npm install。在那之后它没有错误


小智 5

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

  • npm install 应该可以在不以管理员身份启动 CMD 的情况下运行。它在正常的 cmd(非管理员)上不起作用也是一个问题。 (3认同)

Hum*_*mus 5

由于文件夹/文件被另一个进程锁定,所以发生在我身上。使用工具(LockHunter)终止该进程,然后它再次开始工作(可能的原因)。