LoginSignup
28
28

More than 5 years have passed since last update.

Yosemite(OS X 10.10)においてHomebrewが使えない問題を解決する

Posted at

会社が休みだったので、他のスタッフに人柱になってもらうわけにもいかず、かといって好奇心を抑えられず、Yosemiteにアップグレードしました。

なんかhomebrewつかっているとアップグレードの時間が遅くなると言われていましたが、おおよそ2時間弱程度でアップグレードできました。アップグレードしたはよいものの、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 23: /usr/local/Library/brew.rb: Undefined error: 0

以上のメッセージをひたすら返すようになってしまいました。

原因としては、References内の記事で挙げられているように、YosemiteのRubyが、2.0デフォルトで、1.8.7がなくなっているために生じているようです。(健全な進化ですね。)よって、当該箇所を書き換えてしまおう、というのが解決策の主流のようです。

私の場合、デフォルトのRubyが

$which ruby
/Users/yuichi/.rvm/rubies/ruby-2.1.2/bin/ruby

なので、/usr/local/Library/brew.rbのshibangを、

- #!/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -W0
+ #!/Users/yuichi/.rvm/rubies/ruby-2.1.2/bin/ruby -W0

に修正しました。ここで、$brew updateをやってもgitのエラーになるので、修正分をコミットします。

local git:(master) ✗ git commit -a -m 'use my default ruby'
[master 3f11181] use my default ruby
 1 file changed, 1 insertion(+), 1 deletion(-)

ここでpullしてくると、当然ながらconflictします。そこは、また当該箇所を修正して、再びpullします。

git add .local git:(master) ✗ git commit
[master 35c84e3] Merge branch 'master' of https://github.com/Homebrew/homebrew
➜  local git:(master) grew update
zsh: command not found: grew
➜  local git:(master) brew update
Updated Homebrew from 35c84e3c to 35c84e3c.
... 以下略

これで、使えるようになりました!

あまりスマートな方法でもない気もするので、待てる人は公式な解決策がでるまでYosemiteへのアップグレードを待ったほうがよいかもしれません。

取り急ぎ以上です。

References

28
28
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
28