【问题标题】:Reinstalling homebrew symbolic links after a restore还原后重新安装自制符号链接
【发布时间】:2014-04-13 02:19:33
【问题描述】:

我在重新安装后从时间机器恢复了运行 10.9 的 Mac,但似乎 /usr/local/bin 下的某些公式的符号链接丢失了。公式仍然根据brew list $formula 安装,但没有来自/usr/local/bin 的链接。

(例如,/usr/local/Cellar/findutils/4.4.2/bin/gfind 存在但 /usr/local/bin/gfind 不存在)。

是否有“适当的”brew-方式来恢复来自/usr/local/bin 的链接,或者我应该只运行一个简单的find.. | xargs ln -s ...

/usr/local/bin 下有很多其他公式的链接,可能是因为我执行了brew upgrade,但不是全部。

【问题讨论】:

    标签: macos homebrew


    【解决方案1】:

    与其恢复符号链接,更好的方法是使用brew link

    对于不在/usr/local/bin 中的给定二进制文件,例如yasm,运行brew unlink yasm && brew link yasm

    您可以使用xargs 为您的所有包运行此命令,如下所示:

    brew list | xargs -I % sh -c 'brew unlink %; brew link %'

    【讨论】:

    • 谢谢。 “brew link”是我要找的,我应该更仔细地阅读“man brew”。
    • 非常有帮助。然后我发现brew updatebrew upgrade 很有用。
    【解决方案2】:

    您可以为每个应用提供brew unlinkbrew link

    如果这对您来说很痛苦,您可以在“启动后”从您的时间机器备份。

    如果您在启动机器时从时间机器中导入数据,brew 已损坏,但在您重新启动机器一次后,它会工作。

    【讨论】:

      【解决方案3】:

      使用更高的 Homebrew 版本,您可能会遇到以下错误:

      Error: Calling `brew list` to only list formulae is disabled! Use `brew list --formula` instead.
      

      更正的命令是:

      brew list --formula | xargs -I % sh -c 'brew unlink %; brew link %'
      

      【讨论】:

        猜你喜欢
        • 2012-03-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多