web-dev-qa-db-ja.com

特定のバージョンのRuby gemをインストールするにはどうすればいいですか?

コマンドラインのgemツールを使って、どうやってgemの特定のバージョンをインストールできますか?

777
mjs

-vフラグを使用してください。

$ gem install fog -v 1.8
1030
mjs

--versionパラメータ(ショートカット-v)を使用してください。

$ gem install Rails -v 0.14.1

>=~>のようなバージョン比較子を使うこともできます。

$ gem install Rails -v '~> 0.14.0'

または gem evenの新しいバージョンでは:

$ gem install Rails:0.14.4 rubyzip:'< 1'
…
Successfully installed Rails-0.14.4
Successfully installed rubyzip-0.9.9
175
schmijos

ruby 1.9以降ではコロンを使用します。

gem install sinatra:1.4.4 prawn:0.13.0
70
Kokizzu

gem install gemname -v versionnumberのインストールに

アンインストールする場合はgem uninstall gemname -v versionnumber

60
Mrityunjeyan S

他の人が指摘したように、一般的に-vコマンドにはgem installフラグを使用してください。

あなたがあなたのgemspecから宝石を切り取った後に、あなたが地元で宝石を開発しているならば:

$ gem install gemname-version.gem

バージョン0.8を想定すると、それは次のようになります。

$ gem install gemname-0.8.gem
20
thelostspore

Linux

異なるバージョンのRubyをインストールするには、以下のようにaptを使って最新バージョンのパッケージをチェックしてください。

$ apt-cache madison Ruby
      Ruby |    1:1.9.3 | http://ftp.uk.debian.org/debian/ wheezy/main AMD64 Packages
      Ruby |        4.5 | http://ftp.uk.debian.org/debian/ squeeze/main AMD64 Packages

それをインストールします。

$ Sudo apt-get install Ruby=1:1.9.3

現在のバージョンを確認するには、次のコマンドを実行してください。

$ gem --version # Check for the current user.
$ Sudo gem --version # Check globally.

バージョンがまだ古い場合は、次のようにしてRubyバージョンマネージャ(rvm)を使用してバージョンを新しいバージョンに切り替えることができます。

rvm 1.9.3

注:Sudoがグローバルにインストールされている場合は、rvmを前に付けることができます。コマンドrvmがグローバルPATHにない場合は、/usr/local/rvm/scripts/rvmを実行してください。 rvmのインストールプロセスが失敗した場合は、トラブルシューティングのセクションを参照してください。


トラブルシューティング:

  • まだ古いバージョンをお持ちの場合は、次の方法でrvm(Rubyバージョンマネージャ)をインストールしてみてください。

    Sudo apt-get install curl # Install curl first
    curl -sSL https://get.rvm.io | bash -s stable --Ruby # Install only for the user.
    #or:# curl -sSL https://get.rvm.io | Sudo bash -s stable --Ruby # Install globally. 
    

    ローカルにインストールされている場合(現在のユーザーのみ)、次のようにしてrvmをロードします。

    source /usr/local/rvm/scripts/rvm; rvm 1.9.3
    

    グローバルに(すべてのユーザーに対して)、

    Sudo bash -c "source /usr/local/rvm/scripts/rvm; rvm 1.9.3"
    
  • それでも新しいバージョンのRubyで問題が解決しない場合は、次のようにrvmでインストールしてみてください。

    source /usr/local/rvm/scripts/rvm && rvm install Ruby-1.9.3 # Locally.
    Sudo bash -c "source /usr/local/rvm/scripts/rvm && rvm install Ruby-1.9.3" # Globally.
    
  • あなたがグローバルにいくつかのgemをインストールしたいと思っていて、あなたがすでにrvmをインストールしているなら、あなたは試すことができます:

    rvmsudo gem install [gemname]
    

    の代わりに:

      gem install [gemname] # or:
      Sudo gem install [gemname]
    

注:RVM gemを操作するのにSudoを使用しないことをお勧めします。 Sudoを実行すると、rootとしてコマンドを実行し、別のシェルの別のユーザー、したがってRVMが実行したすべての設定は、コマンドがSudoで実行されている間は無視されます(GEM_HOMEなど)。繰り返しになりますが、あなたが「Sudo」を実行するとすぐにあなたは自分の環境とそれが作成するファイルをクリアするrootシステムユーザーとして実行しているのでユーザーによって変更することができず奇妙なことが起こります。

7
kenorb