Ubuntu上でRuby on Rails
はじめに_
Ubuntu上にRuby on Railsの開発環境を整える。また、Ruby on Railsは他のライブラリとの相性が厳しいのでRVMというパッケージを利用することにする。
今回の環境は以下のとおり
- Ubuntu 11.10 in VMPlayer 4 on Windows 7
RVMのインストール_
RVMはRuby version managerというソフトウェアで、複数のバージョンや実装のRubyおよびgemライブラリーを1つのマシン上で管理することができる。Rubyの生みの親である松本さんが開発しているRubyは安定版1.9.3、旧安定版1.8.7安定版2.0系、旧安定版1.9.3が存在する。今後のバージョンアップは1.9 2.0系になるが、 1.8.7 1.9.3でしか動かないプログラムも存在する。よって、RVMのように複数のバージョンが扱えるソフトウェアが便利となる。詳しい解説は以下を読むこと。
rvm: Ruby Version Managerに書いてあるとおりインストールする。RVMの最新版はroot権限でインストールすることを推奨しているとのこと。
まずは必要なソフトウェアをインストール。
% sudo aptitude install curl git-core
その後、RVMをインストールする。
sudo bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
これで/usr/local/rvm 以下にrvmがインストールされる。
現在のユーザーをrvmグループに加える。
% sudo addgroup USERNAME rvm
ログインシェルとしてbashかzshを用いている場合は、一度ログアウトしてもう一度ログインすれば設定が終了する。
自分が使っているログインシェルを調べる場合は以下のコマンドをうつこと。たとえば、ユーザー名(ログイン名)がgotohならば
% grep gotoh /etc/passwd gotoh:x:1000:1000:Yuichi Goto,,,:/home/gotoh:/bin/zsh
最後の「/bin/zsh」の部分がログインシェル。
ただし、ターミナル(端末)としてgnome-terminalを使っている場合は 、もう一手間必要。
- gnome-terminalの「編集」ー>「プロファイルの設定」ー>「タイトルとコマンド」ー>「ログインシェルとしてコマンドを実行する」をチェックする。
- .bashrc か .zshrcの末尾に「source /etc/profile.d/rvm.sh」を加える。
gnome-terminalを立ち上げ直す。以下のようになっていたら成功。
% type rvm rvm is a shell function (zshの場合) rvm is function (bashの場合)
rvmのバージョン確認
% rvm version rvm 1.19.5 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
Rubyのインストール_
自分の環境においてRubyのインストールを行う前に必要なパッケージをインストールする。以下のコマンドで自動的にインストールされる。
% rvm requirements
Ruby安定版の2.0系の最新版をインストールする。
% rvm install 2.0.0
Rubyのバージョンを確認する。
% ruby -v
rubyのバージョン切り替えは以下のように行う。
% rvm list (rvm でインストールしたrubyの一覧を出す) rvm rubies ruby-1.9.3-head [ i686 ] % rvm use ruby-2.0.0-p0 --default Using /usr/local/rvm/gems/ruby-2.0.0-p0 % ruby -v ruby 2.0.0p0 (2013-02-24 revision 39474) [i686-linux]
Ruby on Railsのインストール_
まずは、gemのバージョンをアップグレードする。
% rvmsudo gem update --system
RVMでRailsのバージョンを管理するのとおり、今回インストールするRuby on Rails 3.2用のgemsetを作成する。
% rvm gemset list % rvm gemset create rails3 % rvm use ruby-2.0.0-p0@rails3 --default (このgemsetを標準使用にする)
railsのインストール
% gem install rails
Railsで入れるべきgemライブラリーをいちいちインストールするのは面倒なので、bundleを利用してまとめてインストールする。まずは新しいプロジェクトを作成する
% rails new demo % cd demo % vi Gemfile
Gemfileに以下を付け加える。
group :development do gem 'thin' gem 'rails-clean-logs' gem 'pry' gem 'pry-doc' gem 'pry-rails' gem 'pry-debugger' end gem 'execjs' gem 'therubyracer'
必要なgemライブラリーを追加する。
% bundle install
scaffoldしてrailsがちゃんと動くかを確認する。
% rails generate scaffold person name:string age:integer % rake db:migrate % rails server thin
http://localhost:3000/people で追加、削除、編集ができたら成功。
参考:
emacsの設定_
emacsでRuby on Railsのソースファイルを編集するためにRinariというパッケージをインストールする。おもしろWEBサービス開発日記:emacsとRinariで快適Rails開発!を参考に行う。まず、Rinariのコアをインストールする。
% cd /tmp % git clone git://github.com/eschulte/rinari.git % cd rinari % git submodule init % git submodule update % cd ../ % sudo mv rinari /usr/share/emacs/site-lisp
次にrhtmlモードをインストール。
% cd /tmp % git clone git://github.com/eschulte/rhtml.git % sudo mv rhtml /usr/share/emacs/site-lisp
.emacs.d/init.el を編集する。以下を付け加える。
;; Interactively Do Things (highly recommended, but not strictly required) (require 'ido) (ido-mode t) ;; Rinari (add-to-list 'load-path "/usr/share/emacs/site-lisp/rinari") (require 'rinari) ;; rhtml-mode (add-to-list 'load-path "/usr/share/emacs/site-lisp/rhtml") (require 'rhtml-mode) (add-hook 'rhtml-mode-hook (lambda () (rinari-launch)))
.emacs.d/init.el に付け加えたらM-x eval-bufferで読み込みをさせる。
以下、参考リンク。
YAML-mode_
RubyではYAMLを良く使うのでemacsでYAMLを簡単に扱えるようにしておく。
% sudo aptitude install yaml-mode
.emacs.d/init.elを設定。
;; YAML-mode (add-to-list 'load-path "/usr/share/emacs/site-lisp/yaml-mode") (require 'yaml-mode) (add-to-list 'auto-mode-alist '("\\.yml$" . yaml-mode))