2010年09月09日
Ruby1.9.2 + Rails3.0
gem で rails3 をインストールしようとしたところ以下の様なエラーが出た。
ruby は、1.9.2 インストールしたのになーと思って gem の環境を確認する。
gem の環境的には、Ruby 1.8.6 を選んでいるらしい。
gem のしくみを全然理解せずに使っていたけど ruby のバージョンによってリポジトリを使い分ける必要があるわけか。まぁ、当然か。
Mac OS X の環境では、Ruby1.9.2 をインストールした際に、以下の様にインストールされている。
なので、現在の gem(1.8) を gem1.8 に置き換えて gem1.9 を gem として置き換えてシンボリックリンクしておく。
(もちろん Ruby1.9 も必要であれば、同様にリンクしておく。)
一度、shell に入り直して gem の環境を確認。
gem が Ruby1.9系として動くことを確認できた。
gem を更新する。
rails を再度インストールしてみる。
エラーは、出ずに完了できた。
rails のバージョンを確認
/opt 配下に設置された rails のバージョンを確認
これもシンボリックリンクする。
rails のバージョンを再確認
この後、実際にプロジェクトを作成した時に気がついたのが rake コマンド。
abort する。
どうやら ruby1.8用の rake で動いていたらしい。
こちらも同様にシンボリックリンクして完了。
これで、無事に Ruby1.9.2 + Rails3.0 の環境ができました。
% sudo gem install rails
Password:
ERROR: Error installing rails:
activesupport requires Ruby version >= 1.8.7.
Password:
ERROR: Error installing rails:
activesupport requires Ruby version >= 1.8.7.
ruby は、1.9.2 インストールしたのになーと思って gem の環境を確認する。
% gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.8.6 (2009-06-08 patchlevel 369) [universal-darwin9.0]
- INSTALLATION DIRECTORY: /Library/Ruby/Gems/1.8
- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
- ruby
- universal-darwin-9
- GEM PATHS:
- /Library/Ruby/Gems/1.8
- /Users/User/.gem/ruby/1.8
- /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.8.6 (2009-06-08 patchlevel 369) [universal-darwin9.0]
- INSTALLATION DIRECTORY: /Library/Ruby/Gems/1.8
- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
- EXECUTABLE DIRECTORY: /usr/bin
- RUBYGEMS PLATFORMS:
- ruby
- universal-darwin-9
- GEM PATHS:
- /Library/Ruby/Gems/1.8
- /Users/User/.gem/ruby/1.8
- /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
gem の環境的には、Ruby 1.8.6 を選んでいるらしい。
gem のしくみを全然理解せずに使っていたけど ruby のバージョンによってリポジトリを使い分ける必要があるわけか。まぁ、当然か。
Mac OS X の環境では、Ruby1.9.2 をインストールした際に、以下の様にインストールされている。
/opt/local/bin/ruby1.9
/opt/local/bin/gem1.9
/opt/local/bin/gem1.9
なので、現在の gem(1.8) を gem1.8 に置き換えて gem1.9 を gem として置き換えてシンボリックリンクしておく。
% sudo mv /opt/local/bin/gem /opt/local/bin/gem1.8
% sudo cp -p /opt/local/bin/gem1.9 /opt/local/bin/gem
% ln -s /opt/local/bin/gem ~/bin/gem
% sudo cp -p /opt/local/bin/gem1.9 /opt/local/bin/gem
% ln -s /opt/local/bin/gem ~/bin/gem
(もちろん Ruby1.9 も必要であれば、同様にリンクしておく。)
% sudo mv /opt/local/bin/ruby /opt/local/bin/ruby1.8
% /opt/local/bin/ruby1.9 /opt/local/bin/ruby
% ln -s /opt/local/bin/ruby ~/bin/ruby
% /opt/local/bin/ruby1.9 /opt/local/bin/ruby
% ln -s /opt/local/bin/ruby ~/bin/ruby
一度、shell に入り直して gem の環境を確認。
% gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.9.2 (2010-08-18 patchlevel 0) [i386-darwin9]
- INSTALLATION DIRECTORY: /opt/local/lib/ruby1.9/gems/1.9.1
- RUBY EXECUTABLE: /opt/local/bin/ruby1.9
- EXECUTABLE DIRECTORY: /opt/local/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-darwin-9
- GEM PATHS:
- /opt/local/lib/ruby1.9/gems/1.9.1
- /Users/User/.gem/ruby/1.9.1
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.9.2 (2010-08-18 patchlevel 0) [i386-darwin9]
- INSTALLATION DIRECTORY: /opt/local/lib/ruby1.9/gems/1.9.1
- RUBY EXECUTABLE: /opt/local/bin/ruby1.9
- EXECUTABLE DIRECTORY: /opt/local/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-darwin-9
- GEM PATHS:
- /opt/local/lib/ruby1.9/gems/1.9.1
- /Users/User/.gem/ruby/1.9.1
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
gem が Ruby1.9系として動くことを確認できた。
gem を更新する。
% sudo gem update
rails を再度インストールしてみる。
% sudo gem install rails
エラーは、出ずに完了できた。
% gem list rails
*** LOCAL GEMS ***
rails (3.0.0)
*** LOCAL GEMS ***
rails (3.0.0)
rails のバージョンを確認
% rails -v
Rails 2.3.8
Rails 2.3.8
/opt 配下に設置された rails のバージョンを確認
% /opt/local/bin/rails -v
Rails 3.0.0
Rails 3.0.0
これもシンボリックリンクする。
% ln -s /opt/local/bin/rails ~/bin/rails
rails のバージョンを再確認
% rails -v
Rails 3.0.0
Rails 3.0.0
この後、実際にプロジェクトを作成した時に気がついたのが rake コマンド。
% rake db:migrate
(in /Users/User/rails3/aaa)
rake aborted!
uninitialized constant Bundler
/Users/User/rails3/aaa/Rakefile:4
(See full trace by running task with --trace)
(in /Users/User/rails3/aaa)
rake aborted!
uninitialized constant Bundler
/Users/User/rails3/aaa/Rakefile:4
(See full trace by running task with --trace)
abort する。
どうやら ruby1.8用の rake で動いていたらしい。
こちらも同様にシンボリックリンクして完了。
% sodu /opt/local/bin/rake /opt/local/bin/rake1.8
% sudo cp -p /opt/local/bin/rake1.9 /opt/local/bin/rake
% ln -s /opt/local/bin/rake ~/bin/rake
% sudo cp -p /opt/local/bin/rake1.9 /opt/local/bin/rake
% ln -s /opt/local/bin/rake ~/bin/rake
これで、無事に Ruby1.9.2 + Rails3.0 の環境ができました。
【(カテゴリなし)の最新記事】
投稿者:tech|12:02