Rubyバージョン2.0.0をMac OSX Yosemiteの最新バージョンに更新する方法


377

Rubyバージョンを2.0.0から最新バージョンに更新する必要があります。バージョンが更新されていないため、一部のGemを使用できません。Homebrewを使用してRubyをインストールしたことがありましたが、Rubyのバージョンを更新するにはどうすればよいですか?


入力which rvmまたはwhich rbenvコマンドラインでの動作
MageeWorld

@ChuchaCどうか、ここここを
vhristoskov

1
brew install ruby十分なように見えます。ここをチェック
Venugopal 2018年

回答:


709

ターミナルを開いて実行します

curl -sSL https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer | bash -s stable

これが完了したらrvmコマンドを機能させるために端末を再起動する必要があります

今、実行します rvm list known

ルビのバージョン一覧が表示されます。

次に、実行rvm install ruby@latestして最新のルビバージョンを取得します。

ruby -vターミナルに入力すると、が表示されruby X.X.Xます。

それでも表示される場合はruby 2.0.、を実行しrvm use ruby-X.X.X --defaultます。


3
2.2.0はRubyの最新バージョンではありません。
ジョーダン

1
@Jordan私の悪い2.3は安定版です
Abhinay Reddy Keesara 2016

71
これは、RVMをインストールするには、Mac OSの上で動作します:\curl -sSL https://get.rvm.io | bash -s stable --ruby
ZED

7
2.4は最新の安定バージョンです:rvm install ruby​​-2.4.0
See ARMS

7
curlの出力を実行に直接パイプすることは、セキュリティの悪夢であり、発生するのを待っています。
arp

214

醸造のみのソリューション

更新:

コメント(kudosからMaksim Luzikまで)から、私はテストしていませんが、よりエレガントな解決策のようです:

brew経由でrubyをインストールした後、次のコマンドを実行してリンクを最新のrubyインストールに更新します。 brew link --overwrite ruby

元の答え:

パーティーには遅れますが、醸造を使用するだけで十分です。rvmをインストールする必要はなく、私にとっては複雑なことだけです。

することでbrew install ruby、あなたが実際に最新の(現在はV2.4.0)をインストールしています。ただし、パスは最初に2.0.0を見つけます。これを回避するには、優先順位(ソース)を変更します。これを変更~/.profileして設定することでこれを行いました:

export PATH=/usr/local/bin:$PATH

この後、bundle gemがまだバージョン2.0.0を使用していることがわかりました。もう一度インストールしてください: gem install bundler


2
まさに私が探していたもの、ありがとう。私がルビー開発者だったら、rvmは理にかなっていますが、私はそうではないので、これは完璧です。
最大

4
これは機能し、インストール後に「
source〜

9
または醸造を通じてルビーをインストールした後に、最新のルビーのインストールへのリンクを更新するには、次のコマンドを実行しますbrew link --overwrite ruby
マクシムLuzik

1
overwriteRubyバージョンの代わりに、次のように書くことができますbrew unlink ruby && brew link ruby
Hamsternik

7
@MaksimLuzikのソリューションは、MacOSでは機能しません。brew link --overwrite rubyにつながるWarning: Refusing to link macOS-provided software: ruby
Rafael

97

rbenvをお勧めします * https://github.com/rbenv/rbenv

*これが基準を満たしている場合:https : //github.com/rbenv/rbenv/wiki/Why-rbenv?

rbenv は…

  • アプリケーション固有のRubyバージョンを指定するためのサポートを提供します
  • ユーザーごとにグローバルRubyバージョン変更できます。
  • Rubyのバージョンを環境変数で上書きできるようにします

RVMとは対照的に、rbenvはしません

  • シェルにロードする必要があります。代わりに、rbenvのshimアプローチは、にディレクトリを追加することで機能します$PATH
  • cdプロンプトハックなどのシェルコマンドをオーバーライドします。これは危険でエラーが発生しやすくなります。
  • 構成ファイルを用意します。Rubyのどのバージョンを使用するか以外は、何も設定する必要はありません。
  • Rubyをインストールします。Rubyを自分でビルドしてインストールするか、ruby-buildを使用してプロセスを自動化できます。
  • 宝石セットを管理します。 Bundlerは、アプリケーションの依存関係を管理するためのより良い方法です。Bundlerをまだ使用していないプロジェクトがある場合は、rbenv-gemsetプラグインをインストールでき ます。
  • 互換性のためにRubyライブラリの変更が必要です。rbenvのシンプルさは、に含まれている限り、それについて$PATH 知る必要がないことを意味します。

インストール

Homebrew http://brew.shをインストールします

次に:

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

#rbenvをbashに追加して、ターミナルを開くたびにロードされるようにします
echo 'if rbenv> / dev / null; 次に「$(rbenv init-)」を評価します。fi '>>〜/ .bash_profile
ソース〜/ .bash_profile

更新実行
後に1つの追加のステップがあり、それが示すように1行を追加します。その後、ターミナルウィンドウを再度開きます[…] SGI 9月30日12:01 — https://stackoverflow.com/users/119770brew install rbenvrbenv init.bash_profile

$ rbenv install --list
利用可能なバージョン:
 1.8.5-p113
 1.8.5-p114
 […]
 2.3.1
 2.4.0-dev
 jruby-1.5.6
 […]
$ rbenv install 2.3.1
[…]

グローバルバージョンを設定します。

$ rbenvグローバル2.3.1
$ ruby​​ -v
ruby 2.3.1p112(2016-04-26リビジョン54768)[x86_64-darwin15]

.ruby-versionリポのルートディレクトリに追加して、リポのローカルバージョンを設定します。

$ cd〜/ whatevs / projects / new_repo
$ echo "2.3.1"> .ruby-version

MacOSについては、このリンクにアクセスしてください


3
@ChuchaC問題ありません。ただし、これを行う前に、これはrbenv readme から引用しています。— github.com/rbenv/rbenv#installation
SoAwesomeMan 2016

17
助けにはならなかった。まだのための標準2.0.0バージョン取得ruby -vrbenv global ...
tuxSlayer

8
brew install rbenv実行後に1つの追加のステップがありrbenv init、.bash_profileに1行追加します。その後、ターミナルウィンドウ を再度開いてdoを実行するrbenv install 2.3.1rbenv global 2.3.1、rbenvが機能します
SGI

6
おそらく後半しかし、@tuxSlayerと同じ問題に遭遇した人々のための将来の参照のrbenv rehash後にrbenv global私のために働いた
ショーン・

2
の後rbenv initruby -v正しいバージョン2.1.2を出力しますが、バンドルの実行でこのようなエラーが発生しますpaperclip-5.0.0.beta1 requires ruby version >= 2.1.0, which is incompatible with the current version, ruby 2.0.0p648。最後に、を実行して動作させることができrbenv rehashます。ありがとう@Sean
James

51

ターミナルを開く:

sudo gem update --system 

できます!


3
これは確かに機能しているようで、他の回答よりも測定が非常に簡単です。ただし、一部のGem(たとえば、リッスン)をインストールすると、必要なバージョンよりも低いバージョンであると警告されます。
William Isted

8
これはルビーではない逸品です
ウィリアムGP


2
私もこの答えに惑わされました。コンソールから実行したときにエラーが発生しないという点で「機能」します。ただし、Rubyは更新されません。Ruby Gemsを更新します。他の回答の1つに従ってRubyを更新します(OS X Sierraを使用)。
informaton

41

Rubyをv2.4以降にアップグレードするための迅速な方法

brew upgrade ruby

または

sudo gem update --system 

4
これはたくさんのことをするように見えますが、rubyのアップグレードはそれらの1つではありません。次で終了します /usr/local/Homebrew/Library/Homebrew/brew.rb:12:in '<main>': Homebrew must be run under Ruby 2.3! You're running 2.0.0. (RuntimeError)
。– nkoren

1
これは、brewを使用してRubyバージョンをアップグレードするための正しい最良の方法です。
user1101733

うまくいきません。ERROR: While executing gem ... (Errno::EPERM) Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem
セバスチャンロワゼル

@SébastienLoiselは、OSやコマンドなどの詳細を教えてください
fatihyildizhan

1
@fatihyildizhanは明らかにMavericksでruby / gems / etcが半壊状態にあるようです。カタリナにアップグレードして問題を解決しました。私が持っていたすべてのエラーを覚えていませんが、群衆がありました。ココアポッドや宝石をアップグレードしようとしていたのか覚えていませんが、基本的に絶望的でした。
セバスチャンロワゼル

31

https://www.ruby-lang.org/en/downloads/を見て、Rubyの最新バージョンを指定できます

  1. 最新バージョンを取得します。

    curl -sSL https://get.rvm.io | bash -s stable --ruby

  2. インストールしてください:

    rvm install 2.2

  3. デフォルトとして使用:

    rvm use 2.2 --default

または、rubyから最新のコマンドを実行します。

rvm install ruby --latest
rvm use 2.2 --default

ありがとう、これでうまくいきました。rbenvが機能しないソリューション
tuxSlayer 2017年

これも私のために働いた!! での解決策は機能rbenvしませんでした
ruoho ruotsi 2017


2

誰かが同じエラーを受け取った場合、「要件のインストールはステータス1で失敗しました。」ここでは何をすべきかです:

次のコマンドでHomebrewをインストールします(何らかの理由で自動的に機能しない可能性があります)。

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

次に、次を使用してrvmを再度インストールします

curl -sSL https://get.rvm.io | bash -s stable --ruby

ターミナルを終了して再度開いてから、次のようにします。

rvm install 2.2
rvm use 2.2 --default

2

brew install rbenv ruby-build

rbenvにrbenvを追加して、ターミナルを開くたびにロードされるようにします

echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile

source ~/.bash_profile

Rubyをインストールする

rbenv install 2.6.5

rbenv global 2.6.5

ruby -v

ソースページ へのリンク

0

ターミナル: rvm gemset use global


5
このコードスニペットが解決策となる場合もありますが、説明を含めると、投稿の品質を向上させるのに役立ちます。あなたは将来の読者のための質問に答えていることを覚えておいてください、そしてそれらの人々はあなたのコード提案の理由を知らないかもしれません。
アダム

-2

最も簡単な方法は、ターミナルで次のコマンドを入力することです。

sudo gem update --system

--no-documentドキュメントをダウンロードしたくない場合は、フラグを追加できます。コマンドを実行した後のサンプル出力は次のとおりです。

sudo gem update --system
Password:
Updating rubygems-update
Fetching: rubygems-update-2.6.8.gem (100%)
Successfully installed rubygems-update-2.6.8
Parsing documentation for rubygems-update-2.6.8
Installing ri documentation for rubygems-update-2.6.8
Installing darkfish documentation for rubygems-update-2.6.8
Installing RubyGems 2.6.8
RubyGems 2.6.8 installed
Parsing documentation for rubygems-2.6.8
Installing ri documentation for rubygems-2.6.8

------------------------------------------------------------------------------

RubyGems installed the following executables:
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/gem

Ruby Interactive (ri) documentation was installed. ri is kind of like man 
pages for ruby libraries. You may access it like this:
  ri Classname
  ri Classname.class_method
  ri Classname#instance_method

1
これは答えと同じではありませんか?ここで賛成票と反対票の数がなぜ違うのか知りたいのですが。答えが重複しているためなのか、それとも人々がすぐに気づかなかったためなのか、以前の解決策はRubyではなくrubygemのためだけのものだったのか。
informaton
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.