まだ途中。
環境
- RVM on Ubuntu 12.04
準備
% 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