Railsの特定バージョンをフリーズ
先日、Extended-Bortを入れてみようと思い立って、いろいろと試行錯誤していたのですが、Extended-Bortは Rails 2.2.0インクルードで、2.2.0では「config.i18n.default_locale = :ja」を指定するとエラーになるので、これを 2.2.2にすべく、勢いで Rails 2.2.2を入れてしまい、その際、ご丁寧にも Ruby自体を Uninstallしてしまったので(Rubyをバージョンアップしようとしたところ、古い Rubyは Uninstallしてからという指示だったので、なにも考えずコントロールパネルから削除したら、C:\Rubyフォルダ以下が gemsを含め、すべてきれいさっぱり削除されて、びっくりというかあっけにとられる)、Rails 2.1.0で動かしているアプリが動かなくなりました。
で、フリーズしたときの手順です。
フリーズさせるバージョンのインストール
「rake rails:freeze:gems VERSION=2.1.0」とやると、「Please `gem install -v=2.1.0 rails`,」といわれるので、素直にそうしたんですが、Windowsではエラーになります。
PS C:\home\www\3n10> gem install -v=2.1.0 rails ERROR: could not find gem .1.0 locally or in a repository
Windowsではこうします。(-v 2.1.0 でも可、だったと思う)
PS C:\home\www\3n10> gem install --version 2.1.0 rails Successfully installed activesupport-2.1.0 Successfully installed activerecord-2.1.0 Successfully installed actionpack-2.1.0 Successfully installed actionmailer-2.1.0 Successfully installed activeresource-2.1.0 Successfully installed rails-2.1.0 6 gems installed
フリーズ
で、「rake rails:freeze:gems VERSION=2.1.0」とやればいいはずなんですが、RubyGems 0.9.5以降はこれだとエラーになるそうなので、こうしておきます。(余計なエラーは試さない主義)
PS C:\home\www\3n10> rake --require=rubygems/gem_runner rails:freeze:gems VERSION=2.1.0 (in C:/home/www/3n10) Freezing to the gems for Rails 2.1.0 rm -rf vendor/rails mkdir -p vendor/rails cd vendor/rails Unpacked gem: 'C:/home/www/3n10/vendor/rails/activesupport-2.1.0' mv activesupport-2.1.0 activesupport Unpacked gem: 'C:/home/www/3n10/vendor/rails/activerecord-2.1.0' mv activerecord-2.1.0 activerecord Unpacked gem: 'C:/home/www/3n10/vendor/rails/actionpack-2.1.0' mv actionpack-2.1.0 actionpack Unpacked gem: 'C:/home/www/3n10/vendor/rails/actionmailer-2.1.0' mv actionmailer-2.1.0 actionmailer Unpacked gem: 'C:/home/www/3n10/vendor/rails/activeresource-2.1.0' mv activeresource-2.1.0 activeresource Unpacked gem: 'C:/home/www/3n10/vendor/rails/rails-2.1.0' cd -
ついでに aasmも
「script/server」したところ、aasmがないといわれたので、これも入れておきます。
PS C:\home\www\3n10> ruby script\server -u => Booting WEBrick... => Debugger enabled c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_re quire': no such file to load -- aasm (MissingSourceFile)
「gem install aasm」でないところだけ要注意です。
PS C:\home\www\3n10> gem install rubyist-aasm