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))

戻る_