コマンドラインのgem
ツールを使って、どうやってgemの特定のバージョンをインストールできますか?
-v
フラグを使用してください。
$ gem install fog -v 1.8
--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
ruby 1.9以降ではコロンを使用します。
gem install sinatra:1.4.4 prawn:0.13.0
gem install gemname -v versionnumber
のインストールに
アンインストールする場合はgem uninstall gemname -v versionnumber
他の人が指摘したように、一般的に-v
コマンドにはgem install
フラグを使用してください。
あなたがあなたのgemspecから宝石を切り取った後に、あなたが地元で宝石を開発しているならば:
$ gem install gemname-version.gem
バージョン0.8を想定すると、それは次のようになります。
$ gem install gemname-0.8.gem
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システムユーザーとして実行しているのでユーザーによって変更することができず奇妙なことが起こります。