マックを使っていて、タスクランナーが動かないとかエラーが出るとか話しを昨日聞いいていて、まだそこの部分はへーな感じだったのですが、Rubyの新しいのはHomebrewで入れればいいことを思い出して、その方法をメモ。
Rubyの現バージョンの確認
$ ruby -v ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin13]
現時点では2.0.0みたいです。
Homebrewで最新Rubyをインストール
$ brew update $ brew install ruby
ダウンロード環境もありますが、1〜2分位で終了すると思います。あ、Homebrewは比較的頻繁にアップデートするので、brew update, brew doctor で環境を最新に維持してから目的のことをするほうがトラブルが少ないようです。
Symlinkを使って最新Rubyを適用
Homebrewでインストールが終わったので、早速バージョンを確認してみます。インストール中のログから、2.1.3が入っているので表示が出るはず
$ ruby -v ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin13]
ああ、変わってないです。/usr/bin/ruby を見に行っているから変わらないんですね。ここをHomebrewで入れた最新版に入れ替えて上げればいいことになります。
オリジナルを退避
$ sudo mv /usr/bin/ruby /usr/bin/ruby2.0.0
/usr/bin/rubyシムリンクを作成
$ sudo ln -s /usr/local/bin/ruby /usr/bin/ruby
で、バージョンを確認してみます。
$ ruby -v ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-darwin13.0]
Homebrewでインストールした最新バージョンが適応されました。
Rubyをオリジナルのバージョンに戻す方法
あまり機会がないかもしれないですが、Macオリジナルのバージョンに戻したいこともあるかもしれません。オリジナルを”ruby2.0.0″に名前を替えてあるので、こちらを再適用すれば元に戻ります。
$ sudo rm /usr/bin/ruby $ sudo ln -s /usr/bin/ruby2.0.0 /usr/bin/ruby $ ruby -v ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin13]
mv ではなく ln -s したのは実体を何かの間違いで消さないようにと考えてrm するのはシムリンクとしたかったからです。
これで、必要に応じてバージョンの違いも行き来できるようになりました。
$ sudo rm /usr/bin/ruby $ sudo ln -s /usr/local/bin/ruby /usr/bin/ruby $ ruby -v ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-darwin13.0]
はい!Homebrewでインストールした版に再度することも問題ありません。
もっとすごい方法があるらしいっ
ここまで書いて知人に教えてもらいました。
rbenv を使うとリストにある任意のRubyバージョンが入れられるらしいです。
しかも、シムリンクとか書かなくても切替えていけるようです。特定のRubyのバージョンで作業の必要が出たら是非使ってみたいです。
コメント