ぼくの最高速度(´⊙ω⊙`) @kahonyun

美味しいものと家族を愛すエンジニャー。最近ママになりました。何でも書きます。

mac portでruby2.0にupdateした時のひっかかったメモ

以下やった手順(正解ではないと思われます…)
rubyで何も書いたことがない状態だったので、rbenvを避けてアップデートしました。
rbenvは後日導入します。


1. mac port自体をアップデート

sudo port -d selfupdate
sudo port -d sync

2.ポートでruby20がインストールできる状態にあるか確認

port list ruby*

ruby @1.8.7-p371 lang/ruby
ruby-build @20121022 ruby/ruby-build
ruby19 @1.9.3-p392 lang/ruby19
ruby20 @2.0.0-p0 lang/ruby20
ruby186 @1.8.6-p420 lang/ruby186
ruby_select @1.0 sysutils/ruby_select

3.listにあれば、ruby2.0を選択してインストール

sudo port install ruby20

4.バージョンを確認

ruby -v


で、終わるはずでしたが私は以下な感じにエラーがでました。

      • > Computing dependencies for ruby
      • > Activating ruby @1.8.7-p371_2

Error: org.macports.activate for port ruby returned: Image error: /opt/local/lib/libruby.dylib is being used by the active ruby19 port. Please deactivate this port first, or use 'port -f activate ruby' to force the activation.
Please see the log file for port ruby for details:
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_ruby/ruby/main.log
To report a bug, follow the instructions in the guide:
http://guide.macports.org/#project.tickets
Error: Processing of port ruby failed

activeになってるバージョンを切り替えろ、ということでしょうか。


インストール済みのrubyをみてみると、たしかにruby19(active)になってました。

port installed ruby*

エラーメッセージの指示通り、旧verをdeactivateにするか強制的に新verをactivateにするか
迷いましたが、私はrubyでプログラミングをまだしたことがなかったので、
deactivateにしました。

sudo deactivate ruby19


あとはもう一度3のコマンドを打って、無事2.0に切り替えることができました。