会社でUbuntu上にRailsをインストールしようとして、若干手間取ったのでメモ。(Ubuntuはまっさらからのインストール)
(最終的な)環境は以下の通り。
- OS: Ubuntu 11.10
- Ruby 1.9.2
- Rails: 3.2.1
関連パッケージのインストール
Git, RVM, Rubyをインストールする。会社環境はプロキシ内なので、そのあたりも注意。
まずはプロキシの設定。必要に応じて.bashrcなりにも追記。
$ export http_proxy="your.proxy.name:8080" $ export https_proxy="your.proxy.name:8080"ついでcurl, Git, build-essentialインストール。
$ sudo apt-get install curl $ sudo apt-get install git $ sudo apt-get install build-essentialで、~/.gitconfigに以下を追記。
[http] proxy = %http_proxy%Ubuntuのデフォルトでは各種devパッケージが入っていないようなので、zlib1g-dev libssl-dev libreadline-gplv2-dev libxml2-dev libsqlite3-devを追加インストール。参考
$ sudo apt-get install zlib1g-dev libssl-dev libreadline-gplv2-dev libxml2-dev libsqlite3-dev
Rubyインストール
rvmでRuby本体をインストール。
$ rvm install 1.9.2このままだとgem installが失敗するので、zlibをコンパイル。参考
$ cd ~/.rvm/src/ruby-1.9.2-p290/ext/zlib $ ruby extconf.rb $ make $ make install同様に、bundleで使うsslのためにopensslもコンパイル。
$ cd ~/.rvm/src/ruby-1.9.2-p290/ext/openssl $ ruby extconf.rb $ make $ make install
Railsインストール
ここでようやくrailsインストール。
$ gem install rails $ rails -v Rails 3.2.1 $ rails new testapp $ cd testappただ、ここでscaffoldするとExecJS::RuntimeUnavailableが発生、と怒られるので、Gemfileにexecjs, therubyracerを追加。 参考
gem 'execjs' gem 'therubyracer'ここでもう一度bundle install(ここで、上記build-essentialが入っていないとg++がなくてコンパイルできない)
$ bundleようやくscaffoldを実行し、動作確認。
$ rails g scaffold user user_name:string age:integer $ rake db:migrate $ rails serverできた。