【问题标题】:Another active Homebrew process is already in progress另一个活跃的 Homebrew 进程已经在进行中
【发布时间】:2016-09-30 17:37:09
【问题描述】:

当我尝试这样做时:

brew install node

我收到这条消息:

 /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

你知道如何解决这个问题吗?

【问题讨论】:

    标签: macos homebrew


    【解决方案1】:

    尝试使用以下命令删除 Homebrew 进程锁定:

    rm -rf /usr/local/var/homebrew/locks
    

    【讨论】:

    • 为什么不使用for file in ls *lock; do mv $file $file.old; done 保持安全?
    • 谢谢你这是完美的!
    • 这是不可取的。错误在于错误的权限; locks 文件是有目的的,删除它不是最安全的选择。
    • 如果其他答案不起作用,我指定尝试此操作;我指的是@kalibrain 的解决方案。我必须两者都做。
    【解决方案2】:

    正如this thread 建议的那样,我的问题是第一次使用 sudo 权限运行 brew 命令。这会导致 brew 尝试访问特权文件和文件夹并且失败。如果您遇到这种情况,请运行这些命令并再次尝试安装节点。

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

    brew cleanup

    【讨论】:

    • 是的,问题是在移动文件进行备份然后恢复它们之后发生的。文件所有者设置为未知 GID;使用chown 恢复所有功能都没有错误。
    • 另外,确保权限是固定的,使用ls -la /usr/local/。如果不是,请尝试添加星号来暗示所有子文件(如sudo chown -R "$USER":admin /usr/local/*)。
    • 这个答案效果很好,但/usr/local/* 上的chown 更好,否则会出现权限错误
    【解决方案3】:

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

    【讨论】:

    • 这可能只在某些情况下有效。原因是,如果你只是关闭终端,它可能无法移除在/usr/local/var/homebrew/locks 路径上创建的锁。因此,下次您运行 brew update 时,您将看到此问题中给出的错误
    • 我这样做并完全重新启动,但没有帮助...@kalibrain 的回答有效
    【解决方案4】:

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

    brew cleanup
    

    这应该可以解决所有问题。使用以下命令:

    brew doctor
    

    全部完成。

    【讨论】:

    • 这似乎是最有效的答案,因为在 Mac OS X 11.5.2 下显然没有创建任何锁文件
    【解决方案5】:

    在 OSX 上,我中断了节点安装,然后我尝试再次开始安装节点,所以我得到了问题中提到的错误。
    我从其他回复中尝试了以下步骤:

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

    和

    rm -rf /usr/local/var/homebrew/locks
    

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

    然后我关闭了终端选项卡并在新的选项卡中运行

    brew install -v node
    

    成功完成节点安装耗时 11 分钟

    【讨论】:

    • 在 macOS 上使用sudo chown -R "$USER":admin /usr/local/* 更安全。没有星号,我没有得到正确的扩展,并且大多数子文件/文件夹都没有被命令触及。
    • 解除锁对我有帮助!修复了我对 BasicTex 的安装。谢谢!
    【解决方案6】:

    更改文件权限将避免此错误:

    sudo chown <your-username>:admin /usr/local/Homebrew/Library/Homebrew/utils/lock.sh
    

    关于 Homebrew 安装或更新的权限问题:

    更改您的自制权限设置

    sudo chown -R <your-username>:admin /usr/local/Homebrew
    
    sudo chown -R <your-username>:admin /usr/local/var/homebrew
    

    然后运行 ​​homebrew install 或 update

    【讨论】:

    • 更改 /usr/local/Homebrew 和 /usr/local/var/homebrew 的权限正是帮助我的原因
    【解决方案7】:

    使用任何自制软件安装位置解锁:

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

    【讨论】:

      【解决方案8】:

      我不知道发生了什么。我唯一的活动终端正在等待输入,后台没有运行任何作业。我刚刚尝试运行失败的 RVM 安装并要求我更新 Homebrew,但由于终端正在等待输入,这应该完成。在多次重复命令调用后,几分钟后我停止接收消息。

      这是在带有 iTerm2 的 Mac OSX 10.13.6 上。

      ⋊> brew --version
      Homebrew 2.1.4
      Homebrew/homebrew-core (git revision 97b15a; last commit 2019-06-07)
      Homebrew/homebrew-cask (git revision 2a010; last commit 2019-06-07)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-17
        • 2016-01-04
        • 2013-06-06
        • 1970-01-01
        • 2014-07-31
        • 2011-02-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多