4

次のコマンドラインを使用して私のマシン(PPC、Mac OSX 10.5.7)にruby19をインストールしようとした後

sudo port install ruby19

ルビーのバージョンは変更されませんでした

ruby -v => ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0]

Macに2つのバージョンがインストールされていると思いますが、最新のバージョンを使用するにはどうすればよいですか?

4

4 に答える 4

9

デフォルトでは、MacPortsのRuby1.9ポートはRubyバイナリをにインストールします/opt/local/bin/ruby1.91.9すべてのgemがまだ1.9と互換性があるわけではないため、Ruby1.8.7ライブラリとgemを踏みつけないようにaを追加します。したがって、Ruby 1.9をruby1.9(およびirb1.9など)で起動する必要があります。

これを行う必要がない場合は、次の2つのオプションがあります。

  1. シェル構成ファイルのrubyエイリアス。ruby1.9
  2. バリアントとともにRuby1.9ポートをインストールします+nosuffix。ただし、MacPorts経由でRuby 1.8をインストールした場合、接尾辞なしでMacPorts経由でRuby 1.9をインストールする1.9と、(gemなどと)競合が発生する可能性があることに注意してください。
于 2009-11-12T19:38:29.307 に答える
5

2つのバージョンがインストールされている場合に特定のルビーバージョンを使用するには、必要なバージョンへの絶対パスを指定することができます。例:/ your / path / to / ruby​​または、.profileでPATH設定を変更できます

入力できます

which ruby

現在使用されているruby実行可能ファイルへのパスを確認します。

を使用して

echo $PATH

現在のPATH設定を確認できます。新しいrubyバイナリへのパスをPATHの前に追加して、他のバイナリの前に検出されるようにする必要があります。

ayazがすでに述べたように、macportsのもののデフォルトの場所は/ opt/localです。パスの前に/opt/ local / binを追加すると、問題ないはずです。(変更後に必ず新しいターミナルウィンドウを開始してください。明示的に.profileファイルを再度「ソース」しない限り、現在のセッションでそれらは取得されません)

注意点:パスの前に/ opt / local / binを追加すると、シェルは常に後で見つかったバイナリよりもそこにあるバイナリを優先します。これは、/ bin、/ sbin、または/usr/の特定のバージョンに依存している場合に問題になる可能性があります。 sbin-状況によっては、これを行うべきではないことを意味します(コンピューターが機密データを処理している場合や銀行などで)、または問題になる可能性があることを覚えておく必要があります(コンピューターが正常な場合)開発マシン)。

osxでPATHを設定する方法についてさらにヒントが必要な場合は、http://www.tech-recipes.com/rx/2621/os_x_change_path_environment_variable/を参照してください。

于 2009-08-26T10:31:43.700 に答える
2

MacPortsについて簡単に説明します。Ayazは、デフォルトでMacPortsが/ opt/localにインストールするというのは正しいことです。(これにより、必要に応じて後でグローバルにアンインストールするのが簡単になり、MacPortsパッケージがOS Xパッケージの邪魔にならないようになります。)

MacPortsをインストールすると、通常、ユーザーの.profileを更新して(まだ存在しない場合は作成して)、あなた$PATH(およびあなたの)を編集します。$MANPATH

予防措置として、変更をロールバックする場合(または後でMacPortsを完全にアンインストールする場合)に、インストーラーは元の.profileのバックアップを作成します。これは、動作中のランダムマシンの例です。

admin ~ $ ls .profile*
.profile  .profile.macports-saved_2009-08-03_at_14:55:56

.profileを見ると、次のように表示されます。

##
# Your previous /Users/admin/.profile file was backed up as /Users/admin/.profile.macports-saved_2009-08-03_at_14:55:56
##

# MacPorts Installer addition on 2009-08-03_at_14:55:56: adding an appropriate PATH variable for use with MacPorts.
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# Finished adapting your PATH environment variable for use with MacPorts.

# MacPorts Installer addition on 2009-08-03_at_14:55:56: adding an appropriate MANPATH variable for use with MacPorts.
export MANPATH=/opt/local/share/man:$MANPATH
# Finished adapting your MANPATH environment variable for use with MacPorts.

$ PATHが更新されていない場合は、調整する必要があります。更新しないportと、MacPorts経由でインストールしたツールとソフトウェアの使用に問題が発生します。

于 2009-08-26T23:33:02.950 に答える
1

macports私は通常、すべてのものを/opt/localディレクトリ内に保持していると思う傾向があります。私はLeopardを使用しており、そのディレクトリ内にあります。探しているバイナリ/opt/local/binを見つけるために、そこ、特に内部を調べたいと思うかもしれません。ruby

于 2009-08-26T10:00:50.313 に答える