OSX升级到优胜美地后如何解决Brew?


181

我在自制软件方面遇到了一些问题。我升级到优胜美地。升级后,自制软件似乎已损坏。

我会运行任何brew命令并得到此错误

/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory
/usr/local/bin/brew: line 26: /usr/local/Library/brew.rb: Undefined error: 0

怎么解决呢?


我刚刚从Mac OS X 10.8升级到10.10(Yosemite),并且自制软件在升级后工作正常。这个问题已解决,或者与此处发布的其他所有人相比,我的操作系统升级有所不同。
Yitz 2015年

Answers:


239

我决定进行查找,发现有问题。该问题已解决,但无法简单运行,brew update因为您仍然会遇到相同的错误。

所以这是您需要做的:

cd /usr/local/Library
git pull origin master

如果您在目录(/ usr / local / Library)中进行了更改,则git pull将引发错误。在这种情况下,您必须获取master分支并将其强制设置为master:

git fetch --all
git reset --hard origin/master

这将升级您的自制酒,您可以再次使用brew。

如果您以非root用户身份安装Homebrew,则需要cd使用/Users/yourusername/homebrew/Library代替/usr/local/Library


20
我喜欢在git上构建软件包管理器的另一个原因:
spinlock 2014年

3
究竟。喜爱从源代码运行并且可以通过git pull进行升级的软件
Ranjith Ramachandra 2014年

7
奇怪,我要命中注定:不是git存储库(或任何父目录):.git
Gabriel R.

2
我收到此错误:error: cannot open .git/FETCH_HEAD: Permission denied
sixty4bit 2014年

6
试试sudo git pull origin master
Ranjith Ramachandra 2014年

48

我找到了这个解决方案

该链接描述得很好,但是如果链接断开,则需要执行以下操作:在终端中键入以下命令:

cd /System/Library/Frameworks/Ruby.framework/Versions
sudo ln -s Current 1.8
brew update
sudo rm 1.8

2
与公认的答案不同,这实际上是可行的。
Paul

这是在10.10.3上对我有用的唯一内容
用户

也适用于10.10.4
Ralfonso 2015年

中止错误:执行失败:git pull -q origin refs / heads / master:refs / remotes / origin / master
itsazzad 2015年

这为我工作,但也有另一步采取:stackoverflow.com/questions/26501126/...
JussiR

22

Ruby的版本和位置随新的Mac OS X版本而改变。

要以一般方式解决此问题,请编辑/usr/local/Library/brew.rb

在第一行,替换1.8Current,即来自:

#!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -W0 

至:

#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby -W0

这会中断,brew update因为您现在有未提交的更改。
卡梅伦·普赖斯·奥斯汀

1
…但是要做brew update一件事必须应用我建议的修复程序。brew update直到现在我才用过,所以我什至没有初始化存储库。甚至不记得我是怎么安装的。
加布里埃尔·R.

3

如果您修复了ruby问题,然后遇到了一个问题,即被告知系统认为您正在运行Tiger或更旧的版本,那么此处的修复程序就在这里


1

我首先尝试了评分最高的答案,然后又遇到了另一个问题。在那之后,由于只安装了两个软件包,我有点放弃修复它。也许其他人也在这条船上。

尽管这些都是很好的答案,但对我来说,重新安装brew更简单。

首先,我在以下方面执行了说明:

http://brew.sh/

它指示我首先进行卸载,并打印了命令行。我运行了该命令行以进行卸载,然后重新安装,一切都很好。

我不想打印特定的命令,因为它们会随着brew调整安装方式而有所变化。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.