错误:EPERM:不允许操作,取消链接 'D:\Sources\**\node_modules\fsevents\node_modules\abbrev\package.json'

Posted

技术标签:

【中文标题】错误:EPERM:不允许操作,取消链接 \'D:\\Sources\\**\\node_modules\\fsevents\\node_modules\\abbrev\\package.json\'【英文标题】:Error: EPERM: operation not permitted, unlink 'D:\Sources\**\node_modules\fsevents\node_modules\abbrev\package.json'错误:EPERM:不允许操作,取消链接 'D:\Sources\**\node_modules\fsevents\node_modules\abbrev\package.json' 【发布时间】:2018-02-11 16:28:20 【问题描述】:

我刚刚将npm 更新为5.4.0。 现在,每当我想安装一个 npm 包时,我都会收到以下错误:

D:\Sources\DownloadCms\Md.Download\Web.Angular>npm install mds.angular.datetimepicker@latest --save
npm ERR! path D:\Sources\DownloadCms\Md.Download\Web.Angular\node_modules\fsevents\node_modules\abbrev\package.json
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall unlink
npm ERR! Error: EPERM: operation not permitted, unlink 'D:\Sources\DownloadCms\Md.Download\Web.Angular\node_modules\fsevents\node_modules\abbrev\package.json'
npm ERR!     at Error (native)
npm ERR!   Error: EPERM: operation not permitted, unlink 'D:\Sources\DownloadCms\Md.Download\Web.Angular\node_modules\fsevents\node_modules\abbrev\package.jso
n'
npm ERR!     at Error (native)
npm ERR!   stack: 'Error: EPERM: operation not permitted, unlink \'D:\\Sources\\DownloadCms\\Md.Download\\Web.Angular\\node_modules\\fsevents\\node_modules\\ab
brev\\package.json\'\n    at Error (native)',
npm ERR!   errno: -4048,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'unlink',
npm ERR!   path: 'D:\\Sources\\DownloadCms\\Md.Download\\Web.Angular\\node_modules\\fsevents\\node_modules\\abbrev\\package.json' 
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Mohammad\AppData\Roaming\npm-cache\_logs\2017-09-03T03_25_50_432Z-debug.log

我确定,以管理员身份运行CMD

我还检查了D:\Sources\DownloadCms\Md.Download\Web.Angular\node_modules\fsevents\node_modules\abbrev\package.json\package.json 在路径中不存在!

编辑: 升级到 v5.4.1,仍然出现同样的错误,甚至无法解决 --no-optional :-(

【问题讨论】:

【参考方案1】:

我可以通过以管理员身份运行命令提示符/bash 并关闭 VSCode 来解决此问题! 似乎 VSCode 正在锁定一些文件。 可能有其他东西会为您锁定这些文件。

【讨论】:

谢谢!就我而言,是 Visual Studio 2015 锁定了一些文件。 是的。谢谢。超级简单。关闭 VS Code 并解决了我所有的问题。 在我的例子中,Process Explorer 总是告诉我锁定文件npm 试图删除的罪魁祸首是……另一个node.exe 进程由npm 产生,运行npm!哦,天哪,这个工具永远不会让人感到惊讶……(这是在 Windows 10、Node 12.11.0、npm 6.11.3 上) 为什么 vscode 无法安装 Angular 应用程序? +1 用于关闭任何可能挂在文件上的正在运行的进程 - 我让 vue-cli-service serve 运行。关闭它为我解决了它。【参考方案2】:

这是一个 npm 5.4.0 问题https://github.com/npm/npm/issues/18287

解决方法是

降级到 5.3 尝试使用 --no-optional 运行,即npm install --no-optional

【讨论】:

--no-optional 完全帮我搞定了 (@5.4.1)! 如果你打开了VSCode然后关闭它并尝试运行npm命令它肯定会安装,降级不是解决方案。 关闭 VS Code 并从外部运行 npm i 为我工作。 在现代版本中已修复。【参考方案3】:

如果您降级到 5.3,但仍然像我一样在 Windows 中遇到同样的错误。 在使用 npm 版本数小时后,我找到了以下解决方案:1. 下载最新推荐的 nodejs 版本,现在是 node-v6.11.3-x642. 用它卸载nodejs3. 转到C:\Users\YourUsername\AppData\Roaming 文件夹并删除npmnpm-cache 文件夹4. 再次运行 nodejs 的安装程序并安装它5 使用 npm i -g npm@5.3 命令行将 npm 更新到 5.3 现在您应该毫无问题地使用 npm。

【讨论】:

npm i -g npm@5.3 --no-optional 为我工作【参考方案4】:

我通过将 npm 从 5.4.0 降级到版本 5.3 来修复

npm i -g npm@5.3

希望对你有帮助

【讨论】:

【参考方案5】:

我尝试了在 How to fix Node.js blog 找到的解决方案

随便用

npm cache clean

如果它拒绝使用,则在 windows 中

npm cache clean --force

【讨论】:

对我不起作用。 VSTS 上的 CI 中的 Windows(现为 Azure DevOps)【参考方案6】:

请关闭所有 IDE,如 Visual Studio 代码。通过 node.js 命令提示符运行 npm install 命令。 享受吧!

【讨论】:

某些情况下需要重启系统。 同时检查 .NPMRC 文件【参考方案7】:

缓存清理和npm 更新到最新版本,为我工作

npm cache clean --force

npm install -g npm@latest --force

【讨论】:

【参考方案8】:

我在 Windows 上遇到了同样的问题。

问题的根源很简单,就是文件夹和文件的访问权限。

在你的项目文件夹中,你需要

    克隆项目后,更改文件夹的属性并更改用户的权限(授予当前用户完全访问权限)。 从项目文件夹中删除只读选项。 (第 1 步和第 2 步需要很长时间,因为它们会复制到下面的整个树中)。 在项目文件夹中,重新安装节点(npm install reinstall -g) 禁用防病毒。 (可选) 禁用防火墙。 (可选) 重启电脑。 清除 npm 缓存 (npm clear) 安装项目的依赖项 (npm install)

之后,将不再显示错误“Error: EPERM: operation not allowed, unlink”。

如有必要,请记住重新激活防火墙和防病毒软件。

【讨论】:

【参考方案9】:

我有同样的问题,我需要做的就是登录到 npm

npm login

或者

npm add user // 查看参数的文档

【讨论】:

【参考方案10】:

如果以上所有方法都不适合您,您可能需要

重启系统 以管理员身份运行命令提示符 运行 npm 命令

【讨论】:

【参考方案11】:

就我而言,问题在于,我没有安装 typescript。虽然我确实安装了 Node 和 Angular。 检查您是否安装了打字稿

Run this command: tsc -v

如果没有,则安装打字稿

Run this command: npm install -g typescript

最后,安装所需的依赖项

Run this command: npm install

在项目的根文件夹中。

---- 希望这对某人有所帮助----

【讨论】:

【参考方案12】:

对于那些来自 Windows 操作系统的用户,您只需停止开发服务器,然后执行您的 npm install ... 命令即可。

奇怪的是,Windows 不允许在服务器运行时安装依赖项,但 MacOS 确实允许。 如果这不起作用,则只选择其他选项 - 清理缓存、降级 nodejs 等。

【讨论】:

谢谢你,就是这样。 Windows 这样做真的很奇怪 是的,就是这样。奇怪的 Windows 再次来袭。谢谢。 拉我的头发好几个小时了。原来我有一个运行开发服务器的 GIt Bash。谢谢【参考方案13】:

我在 Windows 中有此日志。 我做了以下

关闭 Visual Studio 代码 以管理员身份运行命令行

【讨论】:

【参考方案14】:

删除 package-lock.json 为我修复了它。

【讨论】:

【参考方案15】:

我正在使用VsCode,并通过停止应用程序服务器解决了这个问题,它们运行npm install。有文件被应用服务器锁定。

无需关闭 IDE,只需确保没有其他进程锁定项目中的某些文件即可。

【讨论】:

【参考方案16】:

对我来说,它在 git 包中的 bash 中工作 试试:

C:\Program Files\Git\bin\bash.exe

然后:

npm install mds.angular.datetimepicker@latest

【讨论】:

【参考方案17】:

似乎有许多解决方案可用于降级 npm 版本。对我来说,解决方案是

npm install -force

我尝试了降级 npm 版本,修改我的 npm 前缀配置以匹配 npm 目录,并清除缓存。这些都不起作用,但显然它们对其他人有用,所以值得一试。

【讨论】:

【参考方案18】:

对于 Windows 上的我来说,问题是路径长度太长。我将项目移到了一条长度较短的路径上,并且成功了。

【讨论】:

【参考方案19】:

我的结果是打开我的项目文件夹有 2 个不同的终端。我通过关闭所有正在运行的终端(排除了vs代码)并再次执行安装命令来解决它。

我希望这对某人有所帮助。

注意:删除 node_modules 并没有解决问题。

【讨论】:

【参考方案20】:

删除我的节点模块文件夹并运行正常的 npm install 为我做了这件事

【讨论】:

【参考方案21】:

我通过删除 dist 文件夹解决了这个问题

--- 删除 dist 或 public 文件夹

【讨论】:

【参考方案22】: 当我将 npm 版本更新到最新的 5.4 时,同样的错误出现在我身上 降级到5.3.0版本很有用。错误来自npm 5.4,您可以在issuses in npm 5.4查看
npm install npm@5.3 -g

【讨论】:

【参考方案23】:

在 NPM 5.6.0 中修复

升级到 NPM 5.6.0 为我解决了问题。

【讨论】:

【参考方案24】:

我想从我的外部硬盘驱动器中运行 npm install,因为这是我保存代码工作区的地方。 Windows 10 操作系统。

但是我遇到了与原始帖子相同的错误。以前的答案都对我不起作用,我尝试了所有答案:

    卸载 nodejs 然后重新安装 卸载 nodejs 然后降级/安装较低版本的 nodejs。 npm install -force 从 C:\UsersYourUsername\AppData\Roaming ... npm 和 npm-cache 中删除文件夹,然后重新安装。 npm 缓存清理 --force npm 缓存清理 npm install --g 或 npm install --global

对我有用的是:

    将文件夹从 C:\Program Files\nodejs 复制到 D:\Program Files\nodejs 然后转到控制面板\系统和安全\系统 高级系统设置 环境变量 系统变量 双击路径 添加新路径 D:\Program Files\nodejs 点击确定 重启电脑。 在 D: Drive 中尝试 npm install

【讨论】:

【参考方案25】:

在尝试了所有方法(包括节点/npm 升级、缓存清理和还原代码)之后,除了一件简单的事情之外没有任何帮助:在开发/构建期间关闭 Windows 10 的实时保护。看起来最近的更新让它变得超级激进。

【讨论】:

【参考方案26】:

npm login 必须在publish 之前

【讨论】:

【参考方案27】:

对我来说是 Docker...

在我关闭应用容器的那一刻,我可以毫无问题地进行 npm 安装

P.S 我的节点版本是 14.15.5

【讨论】:

【参考方案28】:

对于窗户,

    下载最新推荐版本nodejs,这几天是node-v6.11.3-x64 用它卸载 nodejs。 转到C:\Users\YourUsername\AppData\Roaming文件夹并删除npmnpm-cache文件夹 再次运行nodejs的安装程序并安装它 默认情况下npm 3.10.10 应与node-v6.11.3-x64 一起安装。 它适用于 npm 3.10.10,但不适用于 5.3.X。 它也不适用于更高版本的节点(以上 node-v6.11.3-x64)

【讨论】:

【参考方案29】:

npm cache verify 解决了我的问题。 我在做:ng new my-app 我遇到了类似的错误

我有 节点版本:10.16.0 npm v 6.9.0

【讨论】:

【参考方案30】:

我的问题是执行命令(npm audit fix all)。我在关闭VSCODE的时候解决了,重新执行命令没有问题。

【讨论】:

以上是关于错误:EPERM:不允许操作,取消链接 'D:\Sources\**\node_modules\fsevents\node_modules\abbrev\package.json'的主要内容,如果未能解决你的问题,请参考以下文章

错误发生意外错误:“EPERM:不允许操作,取消链接'path_to_project\\node_modules\\prisma\\query_engine-windows.dll.node'

npm install -g expo-cli 失败并显示“EPERM:不允许操作,取消链接 '...\adb.exe'

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

Bower - EPERM,取消链接错误

呃!错误:EPERM:不允许操作

错误:EPERM:Bitbucket 管道中不允许操作