Mac OSX Mavericks升级清除/ usr/local/bin

Dam*_*ian 6 macos homebrew symlink path osx-mavericks

我一直没有升级到小牛队,因为他担心这会打破思维,似乎我的恐惧实现了.我有一个Homebrew安装库存,其中包含许多链接到/ usr/local/bin的编译工具以及一些指向其他二进制文件的自定义链接,例如Sublime Text的快捷方式.升级到Mavericks后,文件夹几乎清除了所有内容,因此没有任何命令可以正常工作.brew脚本仍然存在,还有一些乳胶工具,但似乎就是这样.

这是升级后的预期行为,是否有任何快速解决方案?我可以从备份中复制文件夹内容吗?是否是在Homebrew中手动取消链接和重新链接所有内容的唯一方法(这不能解决我丢失的未通过Homebrew编译的内容)?

我只是注意到/ usr/local/lib似乎遭遇了类似的命运,如果这对任何答案都很重要.我担心还有什么可能会受到影响.

Sco*_*hie 8

我已经从Apple Stackexchange问​​题逐字复制并粘贴了我的答案,因为相关问题的链接已隐藏在评论中.

首先,重新链接所有已安装的公式:

brew list -1 | while read line; do brew unlink $line; brew link --force $line; done
Run Code Online (Sandbox Code Playgroud)

然后运行brew doctor,应该抱怨并给你两个列表:

  • 具有多个版本的未链接公式
  • 仅通过原始重新链接过程错误链接的仅桶组公式.

对于具有多个版本的每个公式,运行以下命令,将"python"替换为公式名称:

brew info python  
Run Code Online (Sandbox Code Playgroud)

除其他信息外,这将向您显示所有已安装的版本.选择要链接的版本(对我来说是2.7.6),然后使用brew switch

brew switch python 2.7.6
Run Code Online (Sandbox Code Playgroud)

您还希望brew unlink在已链接的仅限keg的公式列表(如果有)上运行.