Ruby on Rails/Rails 2.0.2にアップグレード http://www.ark-web.jp/sandbox/wiki/295.html

Ruby on Rails/Rails 2.0.2にアップグレード

いくつかはまりどころがありましたので。

[edit]

手順

  1. まず、Rails 2.0.2にするためには、gemのアップグレードが必要。今回は1.0.1にアップグレード。

    最初、
    $ sudo gem update --system
    としたんですが、
    lib/rubygems/installer.rb:59:5: Unrecognized directive 'env_shebang'
    lib/rubygems/local_remote_options.rb:29:30: ':' not followed by identified or noyou
    のようなエラーが出まくり
  2. Fedoraで、ruby-develのRPMのupdateを適用していないせいらしい。開発サーバーといえど、普段からアップデートを怠ってると、こういうところでハマる [sad]
    $ sudo yum install ruby-devel -y
    参考) Kazu-の気ままにOSS: ApacheとRuby on Railsの連携
  3. 再度
    $ sudo gem update --system
    とすると、今度はエラーがでないでgemのインストールはできた。

    でも、2.0.2のソースも、古いバージョンのソースもrakeをやろうとすると以下のようなエラー。
    undefined method `require_gem'
    どうやら、0.9.0時代はあった、require_gemというメソッド自体がなくなったらしい。マジか。ずいぶん大胆な仕様変更。
    参考) Rails/Gem errors? - Ruby Forum
  4. 参考サイトにあるように、gem pristine --allを実行してみた
    $ sudo gem pristine --all
    Restoring gem(s) to pristine condition...
    builder-2.1.2 is in pristine condition
    sqlite3-ruby-1.2.1 is in pristine condition
    hpricot-0.4 is in pristine condition
    daemons-1.0.9 is in pristine condition
    mechanize-0.6.7 is in pristine condition
    hpricot-0.5 is in pristine condition
    ...
  5. これで2.0.2のRailsのrakeは動いた。以前のバージョンのRailsのソースはまだ動かない。これはrailsコマンドで作られた、config/boot.rb内に、require_gemのメソッド呼び出しがあるためらしく、これは、手で直さないといけないらしい orz
    $ svn di config/boot.rb
    Index: config/boot.rb
    ===================================================================
    --- config/boot.rb      (リビジョン 165)
    +++ config/boot.rb      (作業コピー)
    @@ -25,7 +25,7 @@
           rails_gem = Gem.cache.search('rails', "=#{version}").first
     
           if rails_gem
    -        require_gem "rails", "=#{version}"
    +        gem "rails", "=#{version}"
             require rails_gem.full_gem_path + '/lib/initializer'
           else
             STDERR.puts %(Cannot find gem for Rails =#{version}:
    これで動いた [bigsmile]
    参考) undefined method `require_gem' for main:Object - 夜の Discovery

投稿者志田 | パーマリンク

| append.gif

tag: Ruby on Rails


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-01-28 (月) 18:07:58 (6145d)

アークウェブのサービスやソリューションはこちら