要件
- Debian に Ruby On Rails 環境を構築する
- Ruby のバージョンは 1.9.3 を利用すること
環境
- Debian 6.0.6(Squeeze)
手順
インストール済みの Ruby のバージョン確認
- バージョン確認
ruby -v
こんな感じ。
ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux]
分かっちゃいたけど、Ruby のバージョンがかなり古いですね...
- パッケージにはありませんかな?
apt-cache search ruby
残念ながら...要件に合わず。
ruby1.9.2
Ruby のバージョンアップ
- 最新の Ruby を取得
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz
- コンパイルしてインストール
tar zxvf ruby-1.9.3-p392.tar.gz cd ruby-1.9.3-p392 ./configure make sudo make install
- バージョンアップの確認
ruby -v ruby 1.9.3p392 (2013-02-22) [x86_64-linux]
rails のインストール
- いきなり gem install rails
No such file to load -- zlib (LoadError)
というエラーが出てしまう。
- zlib の開発ツールをインストール
sudo aptitude install zlib1g-dev
- エラーの改善
cd /tmp/ruby-1.9.3-p392/ext/zlib ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib make sudo make install
- 気を取り直して rails のインストール
gem install rails
- 確認
rails -v
一応、インストール done。
Rails 3.2.13
gem 実行時のワーニング対処
- gem を叩くと以下のようなワーニングが出てしまう
/usr/local/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>': It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby.
- ワーニングメッセージを元に libyml をインストール
wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz tar -zxvf yaml-0.1.4.tar.gz cd yaml-0.1.4 ./configure make make install
- Ruby を再インストール
cd ruby-1.9.3-p392 make clean ./configure make make install
- 動作確認
ruby -v ruby 1.9.3p392 (2013-02-22) [x86_64-linux]
gem -v 1.8.23
動作確認
rails でテストアプリケーションを構築
- rails new newapp する
rails new newapp
- openssl 関連のエラーが出る
Cannot load such file -- openssl (LoadError)
対策を施す
aptitude install libssl-dev cd /tmp/ruby-1.9.3-p392/ cd ext/openssl ruby extconf.rb make make install
- sqlite3 関連のエラーが出るので対策を施す
aptitude install libsqlite3-dev
- bundle install すると、以下のようなエラーが出るので対策施す
Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes.
Gemfile を修正する
vim newapp/Gemfile
以下を追記する
gem 'execjs' gem 'therubyracer'
- 改めて bundle install してアプリケーションサーバーを起動
bundle install
アプリケーションサーバーを起動
rails s
無事に起動しましたとさ。