rvmでrubyのバージョンに合わせたgemを指定する


rvmでrubyのバージョンを変更したつもりがgemの指定が変わっていなかったようです。

rails s や bundle installをしようとしたらエラーが

ruby2.0とrails4でrails s や bundle installをするとエラーが出て失敗しました。

bundle install
Fetching gem metadata from https://rubygems.org/……….
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies….
Using rake (10.1.0)

Installing activesupport (4.0.0)
Gem::InstallError: activesupport requires Ruby version >= 1.9.3.
An error occurred while installing activesupport (4.0.0), and Bundler cannot continue.
Make sure that `gem install activesupport -v ‘4.0.0’` succeeds before bundling.

なにかおかしいです。

使用しているgemを確認する

gemがどこを見ているかwhichコマンドで確認します。

which gem
/Users/kawasakiosamu/.rvm/rubies/ruby-1.9.2-p0/bin/gem

アレ?なんと1.9.2を見ています。2.0をみて欲しいのですがおかしいです。

rvmのruby2.0のディレクトリを見ました。

ls ~/.rvm/rubies/ruby-2.0.0-p247/
.irbrc bin/ config include/ lib/ patches.list share/

gemのディレクトリがそもそもありません。

default.gemsを作成

一度ruby1.9.2に変更します。

rvm use 1.9.2
ruby-1.9.2-p320 is not installed.
To install do: ‘rvm install ruby-1.9.2-p320’

gemsetをexportします。

rvm gemset export
Exporting current environments gemset to default.gems

gemsetを読込み

使いたいrubyは2.0なのでruby2.0に変更します

rvm use 2.0
Using /Users/kawasakiosamu/.rvm/gems/ruby-2.0.0-p247

gemsetを読み込みます。

rvm gemset import

Processing of default.gems is complete.

このimportかなり時間がかかりました。

再び使用しているgemを確認する

rubyのバージョンとgemがどこを見ているか確認します。

ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.5.0]

which gem
/Users/kawasakiosamu/.rvm/rubies/ruby-2.0.0-p247/bin/gem

おお!今度はruby2.0のほうのgemを見に行っています。

WEBrickを起動

rails sでWEBrickを起動します。

rails s
=> Booting WEBrick
=> Rails 4.0.0 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server

やりました。最初は失敗したWEBrickが起動しました。バンジャーイヽ(´ー`)ノ


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です