しばらく使っていなかった FreeBSD ボックスで ruby スクリプトを実行しようとしたところ、「ruby: コマンドが見つかりません」というメッセージが表示されました。そこで、以前にインストールしていなかっただけだと考えました。/usr/ports/lang/ruby22 に移動して、make install clean を実行しました。すると、ruby22 がすでにインストールされていることがわかりました。
そこで、pkg version -v を実行したところ、実際にインストールされていることが示されました。その後、何らかの理由で $PATH から削除された bin ディレクトリがあるのではないかと考え、make deinstall を実行してから make install を実行しました。問題なくインストールされたと表示されましたが、それでも「ruby: コマンドが見つかりません」というエラーが表示されます。
さらに調査してみると、/usr/local/bin/ruby22 実行ファイルがインストールされており、それにシンボリック リンクを作成できると思いますが、何か問題がありますか? マシンのデフォルトの「ruby」としてこの特定のバージョンの Ruby を本当に使用したいことを FreeBSD に知らせるための、実行していないインストール手順があるのでしょうか?
念のため言っておきますが、これは 10.1 RELEASE amd64 であり、インストールされているすべてのパッケージと同様に、ポート ツリーは完全に最新です。
答え1
によると/usr/ports/UPDATING:20150301
、Ruby のデフォルトのバージョンは現在 2.1 です。代わりに 2.2 をデフォルトとして使用したい場合は、 のDEFAULT_VERSIONS
ノブを更新する必要があります/etc/make.conf
。
DEFAULT_VERSIONS+=ruby=2.2
その後、バイナリとスクリプトが期待どおりの名前 (つまり、バージョン サフィックスなし) でインストールされるようにするには、Ruby 2.2 を再インストールする必要があります。