RubyGems 1.5 が出たけど
先日(2011/1/31)に、RubyGems 1.5がリリースされました。
RubyGems 1.4.x で生じていた「Ruby 1.9 で動かない」という困った問題が解消され大変よろこばしいことなのですが、早速、同僚から別の問題が報告されました。
Rails 2.3.4 で動かないよ。
というのです。
あるブログ記事に寄せられたコメントによると「Rails 2.3.5 でも動かない」そうです。同僚の報告によれば、最新の2.3.10では大丈夫らしい。
可能であればこの機会に該当するRailsアプリケーションを最新の2.3.10にアップグレードすべきところですが、現実にはなかなかそういうわけにも行きません。
というわけで、RubyGems 1.3.7にダウングレードする手順をメモしておきます。
まず、インストールされている rubygems-update のバージョンを調べます。
$ gem list rubygems-update *** LOCAL GEMS *** rubygems-update (1.4.0)
1.3.7より新しいのがあれば、削除します(Windowsではsudo不要)。
$ sudo gem uninstall -v 1.4.0 rubygems-update
1.3.7をインストールします(Windowsではsudo不要)。
$ sudo gem install -v 1.3.7 rubygems-update $ sudo update_rubygems
古いバージョンのRailsアプリケーションをメンテナンスしなければならない方は気をつけてください。
複数のバージョンのRubyGemsを使い分けたい方は、rvm を用いてRuby実行環境を切り替えられるようにするとよいでしょう。詳しくは、技術評論社のサイトにある解説記事(第39回 RVM(Ruby Version Manager)による環境構築)を参照してください。
参考資料
[追記] 今日、バグフィックスのためにある Rails アプリを久しぶりに起動した時に、これの Rails は 2.3.5 のままであることにふと気付きました。
もう私は RubyGems を 1.5.0 に上げていたので「何で動くのだろう」と思って config/environment.rb を開くと、次のような記述がありました。
# Specifies gem version of Rails to use when vendor/rails is not present
RAILS_GEM_VERSION = '2.3.5' unless defined? RAILS_GEM_VERSION
# Bootstrap the Rails environment, frameworks, and default configuration
require File.join(File.dirname(__FILE__), 'boot')
# Quick patch to suppress the warning message from RubyGems 1.3.6
if Gem::VERSION >= "1.3.6"
module Rails
class GemDependency
def requirement
r = super
(r == Gem::Requirement.default) ? nil : r
end
end
end
end
すっかり忘れていたのですが、RubyGems のバージョンを 1.3.6 に上げたときに、ログに出る警告メッセージを止めるために追加したのでした。
今あなたが遭遇しているエラーメッセージが
undefined local variable or method `version_requirements' for #<Rails::GemDependency:0x7f3fa13f6ca8> (NameError)
こんな感じのものであれば、上のコードの if から end までをコピーして config/environment.rb の所定の位置(bootをrequireした直後)に貼り付ければ、解決するはずです。
で、ここまで書いた後、念のため「Rubygems 1.5」で検索してみると、gem 1.5.0とbundler 1.0.9ではエラーになるので注意: bundlerを1.0.10にアップデート必要という記事を発見。
再現のため bundler を 1.0.9 にダウングレードしてみると、確かに次のようなエラーが出ます。
uninitialized constant Gem::SilentUI (NameError)
もちろん bundler を 1.0.10 にすれば大丈夫。(2010/2/5)
(2011/02/04)
記事に関するご質問は、 hermes@oiax.jp までメールでお送りください。
ウェブサイト構築の発注先を検討されているお客様は、ご相談フォームをご利用ください。
- はじめに
- Rails はエンタープライズの世界で主流になるか (2008/03/29)
- Rails 2.0 ベンチマーク (2008/03/30)
- テスト駆動開発とデバッグコード (2008/04/07)
- Git or Mercurial (2008/04/22)
- RESTful Ruby on Rails -- その美しさと難しさ (2008/04/23)
- RESTful Ruby on Rails -- 単数と複数 (2008/04/24)
- Rails のソースコードを読む (2008/05/02)
- sudo: no passwd entry for app! (Capistrano 2.3.0) (2008/05/12)
- Rails on GlassFish (2008/06/18)
- 「Ruby は型宣言がないけど、ちゃんとしたシステムに使えるのか」という質問にどう答えるか (2008/11/23)
- 「Ruby はスクリプト言語だけど、遅くないですか」という質問にどう答えるか (2008/11/24)
- どのプログラミング言語が将来的に有望か (2009/01/10)
- どのフレームワークが将来的に有望か (2009/01/11)
- フレームワーク対 CMS (2009/01/12)
- Rails 2.3 で spawner/reaper は DEPRECATED に (2009/03/25)
- db/seeds.rb (2009/06/08)
- LESSとSass (2009/08/03)
- Rails 2.3.4 と I18n (2009/08/15)
- RubyGems のアップデート(上書きインストール) (2010/02/03)
- クリエイティブ・コモンズの Rails 教材 (2010/03/08)
- Yet Another Ruby Reference (2010/03/12)
- Rails で MongoDB を使ってみた (2010/03/23)
- Rails で MongoDB を使ってみた(2) (2010/03/25)
- 祝 Ruby on Rails 3.0 beta2 リリース (2010/04/02)
- Rails 3.x 時代のテストフレームワーク (2010/04/24)
- 続・Rails 3.x 時代のテストフレームワーク (2010/05/06)
- Test::Unit と RSpec と Shoulda (2010/05/06)
- Windows + Rails + MySQL 5.1 (2010/07/20)
- Ruby on Rails 2.3.9 リリース (2010/09/05)
- Railtie と Engine と Plugin の関係 (2010/10/23)
- Rails 3.0 と Internet Explorer (2010/11/19)
- acts_as_list: gem か plugin か (2010/11/29)
- さようならNetBeans/こんにちはRedcar (2011/01/28)
- RubyGems 1.5 が出たけど (2011/02/04)
- はじめる!Rails3 第2巻の執筆を始めました (2011/03/20)
- NetBeans 7.0にRuby on Railsプラグインをインストールする手順 (2011/03/21)
- Resqueを利用したRailsでの非同期処理/バッチ処理 (2011/03/23)
- Resqueワーカーをデーモンとして動かす (2011/04/02)
- はじめる!Rails3 第2巻の執筆(経過報告) (2011/04/23)
- はじめる!Rails3 第2巻の執筆(経過報告 No.2) (2011/05/11)
- Rails 3.1: assign_attributesメソッド (2011/05/14)
- Rails 3.1: has_secure_passwordメソッド (2011/05/27)
- はじめる!Rails3 第2巻の執筆(経過報告 No.3) (2011/06/06)
- Ruby on Rails 3.2 を Windows にインストールする手順をかなり丁寧に説明してみました (2011/07/22)
- Ruby on Rails 3.2 を Mac OS X にインストールする手順をかなり丁寧に説明してみました (2011/08/07)
- はじめる!Rails3 第2巻の執筆(経過報告 No.4) (2011/08/15)
- WindowsマシンにUbuntuをインストールしてRails開発を始めるには (2011/08/29)
- Rails 3.xでISO-2022-JP(JISコード)の電子メールを送る: mail-iso-2022-jp (2011/12/05)
- はじめる!Rails3 第3巻について (2011/12/30)
- NetBeans 7.1にRuby on Railsプラグインをインストールする手順 (2012/01/26)
- はじめる!Rails3 第3巻について(経過報告) (2012/02/29)
- はじめる!Rails3 第3巻について(経過報告2) (2012/03/17)
- Ruby on Railsで複合キーを扱う(1) (2012/03/25)
- Ruby on Railsで複合キーを扱う(2) (2012/03/26)
- Ruby on Railsで複合キーを扱う(3) (2012/03/27)
- Ruby on Railsで複合キーを扱う(4) (2012/03/28)
- Ruby on Railsで複合キーを扱う(5) (2012/03/29)
- Ruby on Railsで複合キーを扱う(6) -- 最終回 (2012/03/31)
- Ruby on Railsで複合キーを扱う(7) -- 補遺 (2012/04/01)
- Ruby on Rails 3.2 を Ubuntu にインストールする手順をかなり丁寧に説明してみました (2012/04/22)
- Ruby on Rails 3.2 を Cygwin にインストールする手順をかなり丁寧に説明してみました (2012/05/05)
- Ruby/Railsを学習・開発する環境としてのCygwin (2012/05/06)

