【问题标题】: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 相关的程序的情况下安装。

标签: node.js reactjs react-native expo


【解决方案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】:

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

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

      它对我有用,祝你好运。

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            【解决方案7】:

            步骤如下

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

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

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

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2023-03-07
              • 2019-11-04
              • 1970-01-01
              • 2017-07-14
              • 1970-01-01
              相关资源
              最近更新 更多