会社が休みだったので、他のスタッフに人柱になってもらうわけにもいかず、かといって好奇心を抑えられず、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へのアップグレードを待ったほうがよいかもしれません。
取り急ぎ以上です。