Ruby on Rails 3.2.9から3.2.11へのアップグレード

まだ途中。

環境

準備

% ruby -v
ruby 1.9.3p362 (2012-12-25 revision 38607) [i686-linux]

Ruby gemのアップグレード

% gem update --system
% gem -v
1.8.24

Ruby on Railsのアップグレード

% rvm gemset use rails3
% gem update rails
% rails -v
Rails 3.2.11

bundlerが自動でアップデートされないので個別にアップデート。

% sudo gem update bundler

既存のプロジェクトのアップデート

Gemfileの参考が欲しいので別にプロジェクトを生成。

% rails new app_3211

既存のプロジェクトが app_329 以下にあるとする。Gemfileの内容を比較して更新する。

% diff app_329/Gemfile app_3211/Gemfile
% vi app_329/Gemfile

bundleでGemfileを最新にする。

% cd app_329
% rvmsudo bundle update

設定ファイルを最新版にする。以下のファイルが書き換えられるので注意。

    config/boot.rb
    config/routes.rb
    config/application.rb
    config/environments/development.rb
    config/environments/production.rb
    config/environments/test.rb
    config/initializers/secret_token.rb
    config/initializers/session_store.rb
    config/locales/en.yml

設定ファイルを最新版にする。

% rake rails:update

最新版になった設定ファイルと既存の設定ファイルと照らし合わせる。

twitter-bootstrap-railsのアップグレード

Railsのアップグレードにともない、twitter-bootstrap-railsもアップグレードされたので対応する。以下のファイルが置き換えられるのでバックアップをとっておく。

  • app/assets/javascripts/bootstrap.js.coffee
  • app/assets/stylesheets/bootstrap_and_overrides.css.less

GitHub: seyhunak / twitter-bootstrap-rails Upgrading Guideに従い、twitter-bootstrap-railsを導入。

% rails g bootstrap:install

app/assets/stylesheets/application.css

*= require twitter/bootstrap 

を以下に置き換える。

*= require bootstrap_and_overrides

新しくなった bootstrap.js.coffee と bootstrap_and_overrides.css.less についてバックアップと比較し、適宜編集する。

各種変更

自分のソースに関係ありそうなやつだけ。

公開環境のpassengerアップグレード

Debian GNU/Linux Wheezyでの話。

% ruby -v
ruby 1.9.3p362 (2012-12-25 revision 38607) [i686-linux]

% gem --version
1.8.24

% rails -v
Rails 3.2.11

passengerをアップデート。

% sudo gem update passenger

モジュール生成

% sudo passenger-install-apache2-module

バージョン情報を整える。/etc/apache2/mods-available/passenger.loadのpassengeのバージョン番号を修正。

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/ext/apache2/mod_passenger.so

/etc/apache2/mods-available/passenger.confの中身のバージョン番号を修正。

PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19
PassengerRuby /usr/local/bin/ruby

apacheを再起動する。

% sudo /etc/init.d/apache2 restart