-rwxr-xr-x 1 root admin 4402 8 22 21:59 erb1.9*
-rwxr-xr-x 1 root admin 551 8 22 21:59 gem1.9*
-rwxr-xr-x 1 root admin 323 8 22 21:59 irb1.9*
-rwxr-xr-x 1 root admin 1236 8 22 21:59 rake1.9*
-rwxr-xr-x 1 root admin 793 8 22 21:59 rdoc1.9*
-rwxr-xr-x 1 root admin 193 8 22 21:59 ri1.9*
-rwxr-xr-x 1 root admin 13056 8 22 21:57 ruby1.9*
-rwxr-xr-x 1 root admin 303 8 22 21:59 testrb1.9*
この状態でrubyやirbコマンドを実行しても、以下のように Command not foundというエラーになってしまいます。
$ ruby
ruby: Command not found.
意図したコマンドを実行するためにシンボリックリンクを張りたくなりますがわざわざ手動で設定するのは面倒ですよね。こんなときにはportコマンドで以下の手順を実行すれば、該当のパッケージでインストールされたファイルに対してもれなく自動でシンボリックリンクを設定してくれます。
$ port select --set ruby ruby19
Selecting 'ruby19' for 'ruby' succeeded. 'ruby19' is now active.
上記のコマンド一発で、以下のシンボリックリンクファイルが生成されます。
lrwxr-xr-x 1 root admin 21 1 4 23:45 erb@ -> /opt/local/bin/erb1.9
lrwxr-xr-x 1 root admin 21 1 4 23:45 gem@ -> /opt/local/bin/gem1.9
lrwxr-xr-x 1 root admin 21 1 4 23:45 irb@ -> /opt/local/bin/irb1.9
lrwxr-xr-x 1 root admin 22 1 4 23:45 rake@ -> /opt/local/bin/rake1.9
lrwxr-xr-x 1 root admin 22 1 4 23:45 rdoc@ -> /opt/local/bin/rdoc1.9
lrwxr-xr-x 1 root admin 20 1 4 23:45 ri@ -> /opt/local/bin/ri1.9
lrwxr-xr-x 1 root admin 22 1 4 23:45 ruby@ -> /opt/local/bin/ruby1.9
lrwxr-xr-x 1 root admin 24 1 4 23:45 testrb@ -> /opt/local/bin/testrb1.9
この仕組みを利用するとruby20, ruby186といった複数バージョンのrubyのパッケージを全てインストールしておき、サフィックスなしのコマンドで起動するバージョンを選択できるようになります。
$ port select --list ruby
Available versions for ruby:
none
ruby19 (active)
ruby20
で選択可能なバージョン一覧を表示できます。
$ port select --show ruby
The currently selected version for 'ruby' is 'ruby19'.
で、現在選択されているバージョンが表示されます。ruby19からruby20への切り替えの様子。すばらしい!
$ ruby --version
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin12]
$ port select --set ruby ruby20
Selecting 'ruby20' for 'ruby' succeeded. 'ruby20' is now active.
$ port select --show ruby
The currently selected version for 'ruby' is 'ruby20'.
$ ruby --version
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin12]
0 件のコメント:
コメントを投稿