HomebrewによるRubyのアップデートと発生したエラーの対処

いまさらながらSassの勉強をはじめようと思ってとりあえず触ってみようと思って触りを調べていたら、SassはRubyを使うことが前提とあった。

Macだと最初からRubyが入っており、現在のバージョンはターミナルから以下のコマンドで 確認できる。

現在のバージョンは1.8.7のようだ。
Rubyのオフィシャルをみてみると現在の最新安定版は2.2.2だそうなので、ずいぶんと古いことになる。

アップグレードしてみようと思った。
ちなみにOSはMac OX 10.7.5 のSnowLeopard。

どうやらRubyのアップデートはHomebrewでできるらしく、HomebrewでRuby最新版を持ってきて→現行版という流れで入れ替えればいいらしい。

Homebrew以外にもrbenvってのを使ってもできるみたいだったけど、ちょうどHomebrewは以前に思いつきでGitをインストールした時に一緒に入れたやつがあったのでこれでやってみる。

というかHomebrew自体もずいぶん前にインストールしたからアップデートしておいたほうがいいかもと思って調べてみる。

現在のHomebrewは0.8とのこと。
早速アップデートしてみる。

権限拒否をされているようなので、sudoで実行してみた。

‘sudo brew’でも拒絶されてしまった。

どうやらroot管理者に/usr/local/での権限がないみたいなので、権限を与える。

上記のコマンドを実行して再度sudoでbrew updateを実行

今度はエラーが出ずにすんなりといったので、無事にアップデートできたかなとこの時は思っていた。。。

いよいよRubyをアップデート。
まずはHomebrewで最新版のRubyをインストール

と、これがなぜかうまくいかない。。。

というか確認をしてみたらHomebrewのアップデート自体ができてない。。。

バージョンは0.8のままだ。これをなんとかしようと思ったら、ここからが長かった。

もう一度homebrewをアップデートしようとすると、今度はまた別のエラーがでる。

何かがおかしいみたいなので、一度brew doctorで診断してみると、たんまりとエラーがでた。

とりあえず、/usr/local/etcなどのフォルダの書き込みができないとあるので、面倒なのでusr/localフォルダ以下全ての所有者を現在のログインユーザーにする。

次に以前自分で環境変数のPATHを設定したが、そのせいで”config”ファイルがよくわからないことになっていると言われてるみたいなので、自前の環境変数の設定をとりあえずコメントアウトしておいた。

お次は

なんかよくわからないけど、gitでmergeする前にローカルで変更したものをcommitするかstashしろと言っているみたい。
なんのこっちゃだったけど、色々と調べていたら下記のようにするといけるみたい。

このやり方で解決!

最後にお前さんが使っているgcc 4.2.2が古いからアップデートするのをオススメすると言われている。ので、これもアップデートをかけてみようと思った。

とやろうとしたけど、gccのアップデートはこれじゃできないみたいで、Rubyと同様に最新版を落としてきてから、その最新版にデフォルトで使用するバージョンを差し替えるやり方になるらしい。
どうやら調べたら下記のコマンドでできるとのこと。

ところが最初のコマンドを打ってみたら。

そんなコマンドはない!って言われたので、どゆこと?となった。
そもそもbrew tapってなんのコマンドだ?と思って調べたら、どうも新しく追加されたコマンドとのこと。
それが使えないってことは結局今のHomebrewのバージョンが古くてまだ実装されてないってことだから・・・

結局問題のgccを最新版にインストールするために、まずはHomevrewを最新版にしてあげなくちゃいけないことになる。。。。
一応brew doctorではgccが古くておすすめはしないよとしか言われてないので、Homebrewのアップデートだけならできるだろうということで先にHomebrewをアップデート。

今度はちゃんとうまくいって、バージョンを確認しても0.9.5の表示がでる。
この勢いで先ほど躓いたgccもアップデート。

とやるとせっせとインストールが始まったと思ったら、結局ERRORで終わった。。。

「なんでー?!」と思ったのでもう一回brew doctorをやってみたところ、なんかWarningがたくさんでる。

けど、よく読むとWarningたくさんでてるけど、注意しろってくらいなんで気にしなくていいよ、一応Homebrewはちゃんとインストールされてるよと言われる。
むしろgccが古いとか言われなくなってしまった。なんだったのか。。。。
結局gccのバージョンも古いままだ。

とりあえず、障害はなくなったっぽいので改めて、rubyのアップデートを。。。

そこそこ時間がかかるのを待って、見事にアップデート成功。やったー!
バージョンを確認したらちゃんと更新されてた。

というか、最新版をインストールしたらsymlinkを貼り直さないといけないってあったのになんか知らないけど、しっかり最新版になってた。。。
よくわからないけど、こうしてRubyは最新版になったのである。

目的としてはSassが使ってみたかっただけなのを思い出す。。。

参考とか:

HomebrewでRubyをアップデートした時のエラー対応

Homebrewを使ったRubyのバージョンをアップデートとHomebrew自身のアップデートを行った時に発生したエラーとその対処方法の記録。

HomebrewによるRubyのアップデートで発生したエラーとやったこと

Pocket
LINEで送る

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This blog is kept spam free by WP-SpamFree.