另一个活跃的Homebrew流程已在进行中

aka*_*iza 63 homebrew

当我尝试这样做时:

brew install node
Run Code Online (Sandbox Code Playgroud)

我收到这条消息:

 /usr/local/Homebrew/Library/Homebrew/utils/lock.sh: line 19: /usr/local/var/homebrew/locks/update: Permission denied
-e:1:in `initialize': Bad file descriptor (Errno::EBADF)
    from -e:1:in `new'
    from -e:1:in `<main>'
Error: Another active Homebrew process is already in progress.
Please wait for it to finish or terminate it to continue.
Error: Permission denied - /usr/local/var/homebrew/locks/node.brewing
Run Code Online (Sandbox Code Playgroud)

关于如何解决的任何想法?

谢谢

omi*_*kes 142

如果上述答案无法解决您的问题,请尝试使用以下命令删除自制程序进程锁:

rm -rf /usr/local/var/homebrew/locks
Run Code Online (Sandbox Code Playgroud)

  • 为什么不使用 `for file in `ls *lock` 来保持更安全;执行 mv $file $file.old; 完成了`? (2认同)
  • 谢谢你,这太完美了! (2认同)
  • 如果上面的命令不起作用,使用 rm -rf $(brew --prefix)/var/homebrew/locks 会考虑不同的brew安装位置。 (2认同)

kal*_*ain 38

正如这个帖子在某些时候所暗示的那样,我的问题是第一次使用sudo priviliges运行brew命令.这会导致brew尝试访问特权文件和文件夹,但它会失败.如果是这种情况,请运行这些命令并再次尝试安装节点.

sudo chown -R "$USER":admin /usr/local

brew cleanup

  • 这个答案效果很好,但 chown on `/usr/local/*` 更好,否则会出现权限错误 (4认同)

Zak*_*aji 24

只需在终端中键入以下内容:

brew cleanup
Run Code Online (Sandbox Code Playgroud)

这应该清理任何问题。按照以下命令执行:

brew doctor
Run Code Online (Sandbox Code Playgroud)

全部完成。


小智 13

关闭终端并重新打开另一个终端

  • 这可能仅在某些情况下有效。原因是,如果您只是关闭终端,它可能无法删除在 `/usr/local/var/homebrew/locks` 路径上创建的锁。因此,下次运行“brew update”时,您将看到此问题中给出的错误 (2认同)

Aur*_*e77 9

要使用任何自制程序安装位置解锁:

rm -rf $(brew --prefix)/var/homebrew/locks


pba*_*ski 5

就OSX而言,我中断了节点安装,然后尝试再次启动安装节点,因此出现了问题中提到的错误。
我尝试了以下来自其他响应的步骤:

sudo chown -R "$USER":admin /usr/local

brew cleanup
Run Code Online (Sandbox Code Playgroud)

rm -rf /usr/local/var/homebrew/locks
Run Code Online (Sandbox Code Playgroud)

但此消息再次出现-因此,不知道上述步骤是否有帮助。

然后我关闭了终端标签,并在新标签页中运行了

brew install -v node
Run Code Online (Sandbox Code Playgroud)

成功完成节点安装花了11分钟

  • 在 *macOS* 上执行 `sudo chown -R "$USER":admin /usr/local/*` 更安全。如果没有星号,我就无法获得正确的扩展,并且大多数子文件/文件夹都不会被命令触及。 (2认同)