andLinux上にRuby on Rails

はじめに_

andLinux上にRuby on Railsの開発環境を整える。今回はSQLite3とRuby on Rails 2.1.1をインストールした。

インストール_

まずは、現在入っているパッケージをupgrade。

# aptitude update
# aptitude safe-upgrade

Railsのインストールに必要なソフトウェアをインストール。

# aptitude install ruby rdoc rake
# aptitude install libyaml-ruby libzlib-ruby libopenssl-ruby

Ubuntuのrubygemsでもgemのアップデートがうまくいかないのでgemを別途にインストールする。RubyForge:Ruby Gemsからソースファイルをダウンロード。そして、インストール

% tar xvfz rubygems-1.*tgz
% cd rubygems-1.*
# ruby setup.rb

SQLite3の用意をする。

# aptitude install swig sqlite3 sqlite3-ruby

次にRails2.1のインストール。gemは/usr/local/binにインストールされている。

# gem1.8 install rails --remote

andLinux上で動いているWEBrickにアクセスするには、http://192.168.200.150:3000/でアクセスできる。

emacsの設定_

コメント_

(2009年5月4日時点)emacs-railsよりRinariという方が開発が継続しているとのこと。

Rinari_

おもしろWEBサービス開発日記:emacsとRinariで快適Rails開発!を参考に。

まず、Ubuntuにgitをインストール(参考:Hello, world! - s21g:DebianでGitをインストールする手順)。

% sudo aptitude install git-core

次にRinariのコアをインストール。

% cd /tmp
% git clone git://github.com/eschulte/rinari.git
% cd rinari
% git submodule init
% git submodule update
% cd ../
% mv rinari /usr/share/emacs/site-lisp

次にrhtmlモードをインストール。

% cd /tmp
% git clone git://github.com/eschulte/rhtml.git
% mv rhtml /usr/share/emacs/site-lisp

.emacsを編集する。以下を付け加える。

;; 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-rails_

どんならんな:Emacs で Ruby 開発環境を参考にemacsでRuby on Railsベースの開発が出来る環境を構築する。

Ubuntuではrubyをインストールするとruby.elが/usr/share/emacs22/site-lisp/ruby1.8-elisp(ruby 1.8が標準の場合)にインストールされる。

RubyForge: emacs-railsより、最新のemacs-railsをダウンロードする。ダウンロードしたならば、解凍し、拡張子が.elのファイルをemacsのloadパスが通ったところに置く。今回はruby.elと同じディレクトリに置くことにする。

% wget http://rubyforge.org/frs/download.php/20976/emacs-rails-0.5.99.5.tar.gz
% tar xvfz emacs-rails-0.5.99.5.tar.gz
% cd emacs-rails-0.5.99.5
% sudo cp *.el /usr/share/emacs22/site-lisp/ruby1.8-elisp

次にruby-block.elをここからダウンロードし、loadパスが通ったところに置く。

% wget http://www.emacswiki.org/cgi-bin/emacs/download/ruby-block.el
% sudo cp ruby-block.el /usr/share/emacs22/site-lisp/ruby1.8-elisp

また、snippet.elをインストールする。

% wget http://www.kazmier.com/computer/snippet.el
# cp snippet.el /usr/share/emacs22/site-lisp/ruby1.8-elisp

次にECBをインストールする。

% sudo aptitude ecb

また、ここからfind-recursive.elをダウンロードし、loadパスが通ったところに置く。

% wget http://www.webweavertech.com/ovidiu/emacs/find-recursive.txt
% sudo cp find-recursive.txt /usr/share/emacs22/site-lisp/ruby1.8-elisp/find-recursive.el

どんならんな:Emacs で Ruby 開発環境にあるように.emacsに以下の部分を付け加える。

;; ruby-mode
(autoload 'ruby-mode "ruby-mode"
  "Mode for editing ruby source files" t)
(setq auto-mode-alist
      (append '(("\\.rb$" . ruby-mode)) auto-mode-alist))
(setq interpreter-mode-alist (append '(("ruby" . ruby-mode))
                                     interpreter-mode-alist))
(autoload 'run-ruby "inf-ruby"
  "Run an inferior Ruby process")
(autoload 'inf-ruby-keys "inf-ruby"
  "Set local key defs for inf-ruby in ruby-mode")
(add-hook 'ruby-mode-hook
          '(lambda () (inf-ruby-keys)))

;; ruby-electric
(require 'ruby-electric)
(add-hook 'ruby-mode-hook '(lambda () (ruby-electric-mode t)))

;; rubydb
(autoload 'rubydb "rubydb3x"
  "run rubydb on program file in buffer *gud-file*.
the directory containing file becomes the initial working directory
and source-file directory for your debugger." t)

;; rails
(defun try-complete-abbrev (old)
  (if (expand-abbrev) t nil))
(setq hippie-expand-try-functions-list
      '(try-complete-abbrev
        try-complete-file-name
        try-expand-dabbrev))
(setq rails-use-mongrel t)
(require 'cl)
(require 'rails)

;; ruby-block
(require 'ruby-block)
(ruby-block-mode t)

(setq ruby-block-highlight-toggle t)

;; ECB
(setq semantic-load-turn-useful-things-on t)
(require 'ecb)
(setq ecb-tip-of-the-day nil)
(setq ecb-windows-width 0.25)
(defun ecb-toggle ()
  (interactive)
  (if ecb-minor-mode
      (ecb-deactivate)
    (ecb-activate)))
(global-set-key [f2] 'ecb-toggle)

.emacsに付け加えたらM-x eval-bufferで読み込みをさせる。

使い方はどんならんな:Emacs で Ruby 開発環境を参照。

YAML-mode_

% sudo aptitude install yaml-mode

.emacsを設定。

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

戻る_