错误: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-x64
2. 用它卸载nodejs
。3. 转到C:\Users\YourUsername\AppData\Roaming
文件夹并删除npm
和npm-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
文件夹并删除npm
和npm-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'