Rails3の開発環境構築あれこれ
今年はRubyに触れようと思って、ここ1カ月ほどRails3をちまちま触ってます。忘備録がてら開発環境の構築でやった事をあれこれ残してみます。
環境
Rails3のインストール
% gem install rails (関連パッケージがどさどさとインストールされる) % rails -v Rails 3.2.1 % which rails /usr/bin/rails
/usr/binに入ってしまうのが若干微妙だけど。。
さっそくRailsアプリを作成してキックしてみます。
% rails new myapp
% cd myapp
% rails server
ブラウザでlocalhost:3000にアクセスして以下の画面が出ればOKです。
CoffeeScriptのインストール
元々はNode.js由来のCoffeeScriptですが、Ruby 3.1よりUI実装として、CoffeeScript+jQueryがデフォルトになっています。せっかくなので、CoffeeeScriptのインタプリタもインストールします。
Node.js
Homebrewから取得します。
% brew install node
npm
Homebrewでは取得できなかったので、Curlで取得します。
% sudo curl http://npmjs.org/install.sh | sh % which npm /usr/local/bin/npm
Emacs Lispのインストール
以下のEmacs LispをGitHubからクローン祭りします。
- Rinari
- rhtml-mode
- yaml-mode
- js2-mode
- coffee-mode
- flymake-coffee
- scss-mode
Emacs Lispの展開先は~/.emacs.d/elisp としています。
Rinari
Rails向けのマイナーモードを提供します。GitHubからクローンして、
% cd ~/emacs.d/elisp % git://github.com/eschulte/rinari.git % cd rinari % git submodule init % git submodule update
init.elに追記します。
(add-to-list 'load-path "~/.emacs.d/elisp/rinari") (require 'rinari nil t)
使い方などは、以下のブログが参考になると思います。
rhtml-mode
ERB(Embedded Ruby)テンプレートのコーディングを支援してくれます。Rinariと開発者が同じようです。GitHubからクローンして、
% cd ~/.emacs.d/elisp % git clone git://github.com/eschulte/rhtml.git
init.elに追記します。
(add-to-list 'load-path "~/.emacs.d/elisp/rhtml") (when (require 'rhtml-mode nil t) (add-hook 'rhtml-mode-hook (lambda () (rinari-launch))) )
yaml-mode
YAMLのコーディングを支援します。データベースのフィクスチャファイルの作成でを使うことがあるので導入。GitHubからクローンして、
% cd ~/.emacs.d/elisp % git clone https://github.com/yoshiki/yaml-mode
init.elに追記します。
(add-to-list 'load-path "~/.emacs.d/elisp/yaml-mode") (when (require 'yaml-mode nil t) (add-to-list 'auto-mode-alist '("\\.yml$" . yaml-mode)) )
js2-mode
おなじみのEmacs Lispですね。JavaScriptのコーディングを支援します。GitHubからクローンして、
% cd ~/.emacs.d/elisp % git clone git://github.com/mooz/js2-mode.git
init.elに追記します。
(add-to-list 'load-path "~/.emacs.d/elisp/js2-mode") (when (require 'js2-mode nil t) (add-to-list 'auto-mode-alist '("\\.js$" . js2-mode)) )
coffee-mode & flymake-coffee
前述で紹介したCoffeeScirptのコーディングを支援してくれます。GitHubからそれぞれクローンして、
% cd ~/.emacs.d/elisp % git clone git://github.com/defunkt/coffee-mode.git % git clone https://github.com/purcell/flymake-coffee.git
init.elに追記します。
;; coffee-mode (add-to-list 'load-path "~/.emacs.d/elisp/coffee-mode") (when (require 'coffee-mode nil t) (add-to-list 'auto-mode-alist '("\\.coffee$" . coffee-mode)) (add-to-list 'auto-mode-alist '("Cakefile" . coffee-mode)) (add-hook 'coffee-mode-hook '(lambda () (setq tab-width 2))) ) ;; flymake-coffee (add-to-list 'load-path "~/.emacs.d/elisp/flymake-coffee") (when (require 'flymake-coffee nil t) (add-hook 'coffee-mode-hook 'flymake-coffee-load) )
scss-mode
CSS拡張メタ言語であるSCSSを支援します。SASSとかもあってよく分かってないですが…GitHubからクローンして、
% cd ~/.emacs.d/elisp % git clone https://github.com/antonj/scss-mode.git
init.elに追記します。
(add-to-list 'load-path "~/.emacs.d/elisp/scss-mode") (autoload 'scss-mode "scss-mode") (setq scss-compile-at-save nil) ;; 自動コンパイルをオフにする (add-to-list 'auto-mode-alist '("\\.scss\\'" . scss-mode))
こんなもんでだいたいRails3の環境は整ったかなと思います。
init.elは下記でも公開していますので、参考にしてみてください。