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

Posted

技术标签:

【中文标题】npm install -g expo-cli 失败并显示“EPERM:不允许操作,取消链接 \'...\\adb.exe\'【英文标题】:npm install -g expo-cli fails with "EPERM: operation not permitted, unlink '...\adb.exe'npm install -g expo-cli 失败并显示“EPERM:不允许操作,取消链接 '...\adb.exe' 【发布时间】:2019-10-05 05:19:48 【问题描述】:

我在运行时收到错误

$ npm install -g expo-cli

我尝试以管理员身份重新安装节点模块,但出现同样的错误。

环境: 视窗 10, 节点版本:10.15.3, NPM 版本:6.9.0

我希望安装会发生,但会出现这样的错误:

npm 错误!小路 C:\Users\Griseld\AppData\Roaming\npm\node_modules\expo-cli\node_modules.xdl.DELETE\binaries\windows\adb\adb.exe npm 错误!代码 EPERM npm 错误! errno -4048 npm 错误!系统调用取消链接 npm 呃!错误:EPERM:不允许操作,取消链接 'C:\Users\Griseld\AppData\Roaming\npm\node_modules\expo-cli\node_modules.xdl.DELETE\binaries\windows\adb\adb.exe' npm 错误! [错误:EPERM:不允许操作,取消链接 'C:\Users\Griseld\AppData\Roaming\npm\node_modules\expo-cli\node_modules.xdl.DELETE\binaries\windows\adb\adb.exe'] npm 错误!原因:npm ERR! 错误:EPERM:不允许操作, 取消链接 'C:\Users\Griseld\AppData\Roaming\npm\node_modules\expo-cli\node_modules.xdl.DELETE\binaries\windows\adb\adb.exe' npm 错误!错误号:-4048,npm 错误!代码:'EPERM',npm ERR! 系统调用:'取消链接',npm ERR!路径:npm ERR! 'C:\Users\Griseld\AppData\Roaming\npm\node_modules\expo-cli\node_modules\.xdl.DELETE\binaries\windows\adb\adb.exe' ,npm 错误!堆栈:npm 错误! '错误:EPERM:操作不 允许,取消链接 \'C:\Users\Griseld\AppData\Roaming\npm\node_modules\expo-cli\node_modules\.xdl.DELETE\binaries\windows\adb\adb.exe\'', npm 错误!错误号:-4048,npm 错误!代码:'EPERM',npm 错误!系统调用: '取消链接',npm 错误!路径:npm ERR! 'C:\Users\Griseld\AppData\Roaming\npm\node_modules\expo-cli\node_modules\.xdl.DELETE\binaries\windows\adb\adb.exe', npm 错误!父:'expo-cli' npm 错误! npm 错误!手术是 被您的操作系统拒绝。 npm 错误!有可能是 文件已被使用(由文本编辑器或防病毒软件),npm ERR!要么 您没有访问它的权限。 npm 错误! npm 错误!如果你 相信这可能是权限问题,请仔细检查 npm 呃!文件及其包含目录的权限,或尝试 运行 npm 错误!再次以 root/Administrator 身份执行该命令(尽管这 不推荐)。

【问题讨论】:

安装时是在运行安卓模拟器还是连接设备? 安卓模拟器 安装时,请尝试在不运行任何与 android 相关的程序的情况下安装。 【参考方案1】:

查看错误日志中的这一行,上面写着 'C:\Users\Griseld\AppData\Roaming\npm\node_modules\expo-cli\node_modules.xdl.DELETE\binaries\windows\adb\adb.exe' npm ERR!

expo cli 没有安装只是因为您的 adb 仍在使用系统上以前安装的 expo cli。 有类似的问题不久...杀死进程adb.exe

【讨论】:

是的,杀死 adb.exe 进程解决了问题 哇,我不敢相信我必须来这里找到这个明显的解决方案:) 非常感谢弗兰克 随时@NielsBrinch 谢谢!这就是我喜欢堆栈溢出的原因【参考方案2】:

去你的任务管理器,杀掉Adb.exe的进程,然后boom。

【讨论】:

【参考方案3】:

Windows 10 更简单的解决方案关闭 Android 模拟器。

然后重启系统并运行npm install -g expo-cli

【讨论】:

【参考方案4】:

我遵循的步骤(希望这对您有所帮助。)

    npm uninstall -g expo-cli(如果您的机器上已经安装了任何版本) npm clear cache --force 从任务管理器中杀死 Abd.exe npm 卸载 -g expo-cli

它对我有用,祝你好运。

【讨论】:

【参考方案5】:

在我的例子中,停止 webpack 服务器就可以了。

【讨论】:

【参考方案6】:

只需删除“android/app/build”即可为我修复它。

【讨论】:

【参考方案7】:

步骤如下

    打开任务管理器 - 右键单击​​任务栏并选择它,或者当您 Ctrl-Alt-Delete 时从屏幕中选择它。如果您有标准的任务管理器,请单击以展开更多详细信息。 (如果您使用的是 Process Explorer 之类的工具,您可能会很乐意找到自己的方式。)

    在后台进程中单击 adb.exe(32 位)(或类似的东西)。单击结束任务或按删除以终止该进程。这应该会解锁有问题的文件。

    这可能不是必需的 - 我首先删除了包含导致错误的文件的文件夹,.xdl-DELETE。 (我希望 npm 为我做这件事,但我正在测试我的假设?。)记得在之后关闭任何命令提示符或资源管理器窗口,否则你将锁定 expo-cli 文件夹。 (我在那个文件夹中打开了一个资源管理器窗口,这就是我提到它的原因?‍♂️。)

    运行 npm i -g expo-cli 进行更新。您将有时间泡茶,所以我建议这样做。

【讨论】:

以上是关于npm install -g expo-cli 失败并显示“EPERM:不允许操作,取消链接 '...\adb.exe'的主要内容,如果未能解决你的问题,请参考以下文章

“npm install”在弹性 beantalk 上失败,但是手动执行有效

如何修复安装 expo-cli

expo 未被识别为内部或外部命令

如何更新全局安装的 npm 包

npm install 和npm install --save 以及npm install --save-dev区别

npm init,npm -y, npm install --save,npm install --save-dev