Ruby1.8.7+Rails2.1.1→Ruby1.9.1+Rails2.3.2(その1)
これまで作ってきたものを、Ruby1.8.7+Rails2.1.1の環境からRuby1.9.1+Rails2.3.2に移行してみたいと思います。
1. rake rails:update:configsで失敗
masayuki@ubuntu-vm:~/work/rails/shrimp$ rake rails:update:configs (in /home/masayuki/work/rails/shrimp) rake aborted! undefined method `>=' for nil:NilClass /home/masayuki/work/rails/shrimp/Rakefile:4:in `require' (See full trace by running task with --trace)
config/boot.rbで、rubygemsのバージョンの取得がうまくできず、失敗しているようでした。
dummyのプロジェクトを作成し、そこからconfig/boot.rbをコピーしてrake rails:update:configsを実行。
2. gettextで失敗
masayuki@ubuntu-vm:~/work/rails/shrimp$ rake rails:update:configs (in /home/masayuki/work/rails/shrimp) rake aborted! /usr/local/ruby-1.9.1-p129/lib/ruby/gems/1.9.1/gems/gettext-1.93.0/lib/gettext/iconv.rb:102: invalid multibyte char… /usr/local/ruby-1.9.1-p129/lib/ruby/gems/1.9.1/gems/gettext-1.93.0/lib/gettext/iconv.rb:102: invalid multibyte char… /usr/local/ruby-1.9.1-p129/lib/ruby/gems/1.9.1/gems/gettext-1.93.0/lib/gettext/iconv.rb:102: syntax error, … puts Iconv.iconv("EUC-JP", "UTF-8", "ほげ").join
gettextは事情があって--version '< 2.0.0'としてきたのですが、上記のエラーで動かないので、最新バージョン(2.0.4)をインストール。
3. gettext/rails→gettext_rails
gettext_rails provides the localization for Ruby on Rails-2.3 or later using Ruby-GetText-Package.
とのこと。
4. config.cache_template_extensions
undefined method `cache_template_extensions=' for ActionView::Base:Class
このメソッドはdeprecatedということで、コメントアウト。
5. app/controllers/application.rb→app/controllers/application_controller.rb
Rails2.3から、application.rbというファイル名が変更になっている為。リリースノートを読むと、rake rails:updateとすれば良かったらしい…。
6. jrailsの更新
jrailsはRuby1.9対応にする必要があります。
7. incompatible character encodings: ASCII-8BIT and UTF-8