OSX家酿错误:未初始化不断MACOS(OSX Homebrew error: uninitiali

2019-06-25 17:41发布

我搜索了一下周围,似乎无法找到任何人有这个问题的任何记录。

每当我尝试运行

$ brew update

我与奖励

/usr/local/bin/brew:34: uninitialized constant MACOS (NameError)

这不是我的机器,我通常在Linux系统开发,所以这是所有有点奇怪我。

任何帮助将不胜感激! 请告诉我,如果有任何额外的信息,我应该提供。 同样,我不习惯自制或OSX。

EDIT在JameA的请求

xiao:~ patrick$ brew doctor
/usr/local/bin/brew:34: uninitialized constant MACOS (NameError)
xiao:~ patrick$ brew --config
/usr/local/bin/brew:34: uninitialized constant MACOS (NameError)

...不知道我喜欢这整个“这里,使用这款MacBook的项目,它工作得更好”的事情...

Answer 1:

MACOS常数在设定globals.rb 。 好像你可能有家酿的borked安装。

检查的输出brew doctor的任何建议。

如果没有帮助,请与结果更新brew --config

如果这些方法都失败,你可能要尝试重新安装自制软件。


更新:

由于这是一个以前的用户的机器确保你的用户是在/ usr /本地和内一切的所有者。 与修复它sudo chown -R $USER /usr/local



Answer 2:

我敢肯定,这根本原因是升级失败尝试从更早的版本0.9.5自制软件。 基本上,如果你运行brew update ,而不是sudo brew update文件的一部分被更新,而有些则没有。 下面是我工作:

  1. 编辑/usr/local/bin/brew (这只是一个Ruby文件,而不是已编译的二进制,所以任何文本编辑器都可以)。 你会发现像块:

     if MACOS and MACOS_VERSION < 10.5 abort <<-EOABORT.undent Homebrew requires Leopard or higher. For Tiger support, see: https://github.com/mistydemeo/tigerbrew EOABORT end 

    评论了这一点。 即使你不知道红宝石,你也许可以直觉这是什么东西做的,它的检查,看看你有OSX的最新版本。 假设其实有这个版本,这个全面的检查是没有必要的。 啤酒仍然是断开的,但至少现在它会加载远远不够给错误消息。

  2. 运行sudo brew update扰流警报 :它失败了,但这次有意义的错误信息:

      $ brew update error: Your local changes to the following files would be overwritten by merge: [giant list of files here] 

    好了,今天我才知道, brew update仅仅是一个包装git pull ,因为任何人谁使用Git的工作知道的错误消息。 我们也可以解决这个问题。

  3. 开关与自制的Git仓库cd /usr/local ,并发出命令git reset --hard FETCH_HEAD 。 这件作品在这里找到 。

  4. 给出命令sudo brew update 。 家酿现在应该成功地更新和正常工作!

一旦系统重新工作,你可以真正有种为什么像这样的错误会发生。 其一, usr/local/bin/brew已经完全rewriten和甚至没有红宝石了,而且大多数的配置已经搬进/usr/local/Library/brew.rb不再使用常数MACOSMACOS_VERSION常量,因为它们已被替换为导向的多个对象OS.macMacOS.version



Answer 3:

我有一个类似的错误与酿造的“borked”安装。 我删除的代码的小5行块的/ usr / local / bin中/酿造开始与MACOS行脚本。 这奏效了,让我卸载,并最终重新安装。



Answer 4:

除了马特Korostoff的答案。 在3点(重置回购),对最新版本的自制软件,回购不再/usr/local ,做cd "$(brew --repo)"来代替。



文章来源: OSX Homebrew error: uninitialized constant MACOS