Homebrewを使用してインストールされたruby1.9.3に切り替えるにはどうすればよいですか?


回答:


90

rvmをご覧になることをお勧めします。その後、デフォルトとして設定できますrvm use 1.9.3 --default

しかし、自作のインストールに満足している場合。

次に、ディレクトリの優先順位を変更するだけです。 PATH

これが私の/ etc / pathsです

# homebrews should always take precedence
/usr/local/bin

# the default stack
/usr/bin
/bin
/usr/sbin
/sbin

これは一般的に自作にとって重要です。そうでない場合、システムバージョンのgit、ruby、pg_admin、...がすべてbrewバージョンの代わりに使用されます。

あなたが言うならばwhich -a rubyあなたがインストールされているすべてのルビー、および優先度が表示されますPATH

例えば。

$ which -a ruby
/Users/matthew/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
/Users/matthew/.rvm/bin/ruby
/usr/bin/ruby


更新:私は今あなたが変更する必要はないと思います /etc/paths

代わりに、あなたはどのチェックする必要があり.profile.bashrcまたは.bash_loginお使いのシェルにロードされている、とだけ追加し/usr/local/bin、あなたのパスに。

私にとって、私はしか持っていません.profile。これらのファイルがホームディレクトリにまだ存在しない場合は、そのファイルを作成できます。

# homebrews should always take precedence
export PATH=/usr/local/bin:$PATH

1
最後に、以前はrvmも使用していたrbenvを選択します。
Alexey Zakharov 2012年

涼しい。とにかく/ etc / pathsに変更を加えることをお勧めします。以前は奇妙なエラーが発生していました(たとえばbrew upgrade git、バージョンは変更されませんでした。醸造バージョンを使用したことがないことが
Matthew Rudy

29
「rvmを使う」と言うのではなく、実際の答えを提供していただきありがとうございます。誰もがRVMを使用できるわけではなく、一番上の答えがOPに、彼らがどのように行うかを尋ねなかったことをするように指示するだけであるのは嫌です。
ブリック


rvmを使用してRubyをコンパイルする際に問題が発生したため、問題なく動作したため、代わりにrbenvを使用することになりました。
ペレット2016

73

簡潔な答え:

自作でRubyをインストールした後、これを実行します。

brew link --overwrite ruby

ターミナルを再起動または再開します  


長い答え

だから私は自作を使ってルビーの通常のインストールをしました

brew install ruby

それはうまくインストールされましたが、それでもシステムのデフォルトのルビーを使用していました。これを確認しました:

which ruby 
#/usr/bin/ruby

したがって、Matthew Rudyの提案に従って、/ etc / pathの順序を確認しましたが、すべて問題ありませんでした。

それから私はすることにしました:

which -a ruby
#/usr/bin/ruby
#usr/local/bin/ruby

だから何も壊れていませんでした。自作の方法を使用してルビーを再インストールしようとしましたが、それを見つけました。

言及された自作:

Warning: ruby-2.3.1 already installed, it's just not linked

そうしなければならなかった:

brew link --overwrite ruby

13
iTermインスタンスを再起動することを忘れないでください。再起動しないruby --versionと、古いバージョンが表示されます。
ダイアレックス2016

1
実際に再起動する必要がありますか?または単にhash -r
dwanderson 2018

1
参考までに、Homebrewは現在それを拒否しています。Fishを使用している私にとっては、echo'set -g fish_user_paths "/ usr / local / opt / ruby​​ / bin" $ fish_user_paths '>>〜/ .config / fish / config.fish
Atem18

46

自作を使用して1.9.3をインストールする場合は、次の手順に従います。

$ brew update
$ brew install rbenv
$ brew install ruby-build

rbenvとruby-buildをインストールしたら、次のコマンドを実行してRuby1.9.3をインストールできます。

$ rbenv install 1.9.3-p125

これで、デフォルトで1.9.3を使用する場合は、次のコマンドを実行できます。

$ rbenv global 1.9.3-p125

ソースリンクは現在
Chris Brown

4
OS X10.11以降では動作しません。システムは古いバージョンを使用し続け、rbenv install 1.9.3-p125 / rbenv global 1.9.3-p125でデフォルトとしてインストール/設定したものではありません
Andrei Konstantinov

「rbenvglobal1.9.3-p125」-この行は私の夜を救った。感謝!
Andrii Kovalchuk 2016

私にはうまくいかないようです。それが機能する前に、$ PATHにrubyexecへのパスを配置する必要がありました。
mr-sk 2017

6

私も同じような状況でした。Homebrewを使用してrubyをインストールしました。which -a ruby私に次の出力を与えました:

#usr/local/bin/ruby
#/usr/bin/ruby

つまり、新しくインストールされたバージョンが使用されるべきでしたが、ruby --versionそれでも古いシステムバージョンが返されました。

ターミナル(Cmd + Q)を終了し、再起動ruby --version後に正しいバージョンが返されました。したがって、他の(不要な可能性がある)修正を試す前に、インストール後にターミナルを再起動してください。


4

ショート: 何に変更したいかをメモしてください。

OS Xを使用していて、JekyllなどにRubyを使用しようとしている場合は、自作を使用しないでください。これは、AppleがRubyに使用しているためであり、自分が何であるかわからない場合は使用しないでください。やっています。代わりに、rbenvまたはRVMを使用してください。

LESS SHORT: Rubyバージョン2.2.5以降が必要だったため、Jekyllを使用するためにデフォルトバージョンから更新バージョン(2.0から)に切り替えようとしていました。更新してバージョン2.5をインストールしましたが、「ruby -v」をチェックしたところ、2.0のままでした。ようやくデフォルトバージョンの変更に取り掛かった後、書き込み権限がなかったため、必要なパッケージをインストールできませんでした。たとえば、このようなものに遭遇した場合、おそらく同じ問題が発生しています

$ gem install jekyll bundler
ERROR:  While executing gem ... (Gem::FilePermissionError)    
    You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

0

OSXでは、次を使用してパスを変更できます。

sudo nano / etc / paths

次に、パスを追加するか、順序を変更します。


-2

これに対する答えを探している他の人のための代替アプローチと同じように、.bash_profileにエイリアスを設定できます。

ruby="/usr/local/bin/ruby"

これは私が問題を回避した方法です


ええ、それに関する問題(そしておそらく反対票の理由)は、これが手動でrubyを呼び出し、システムに特定のバージョンを使用させたくない場合にのみ機能することです
David Seek
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.