いまさらながら らくちん Sinatra 環境構築メモ
久しぶりにちょこっと Web アプリでも書いてみよっかな、と調べていたら浦島太郎状態だったのでメモ。環境は、MacOSX 10.7.5 + XCode 4.6.1 です。
環境の構築
Homebrew + Command Line Tools for Xcode
パッケージマネージャーです。結構面倒ですが入ってなかったら入れときましょう。
rbenv
rvm と似たようなもんだけど、bundler を使う場合に便利そうなので rvm から乗り換えることにしました。
$ rvm seppuku
として、rvm アンインストール後、~/.zshrc に書いていた rvm 関連のスクリプトを削除します。
続いて rbenv その他もろもろをインストールします*1。
$ brew install rbenv ruby-build readline openssl $ echo 'eval "$(rbenv init -)"' >> ~/.zshenv
インストール可能な Ruby のバージョンを確認します。
$ ruby-build --definitions # or rbenv install -l
とりあえず ruby 1.9.3 と 2.0.0のインストール。
$ RUBY_CONFIGURE_OPTS="--enable-shared --with-readline-dir=$(brew --prefix readline) --with-openssl-dir=$(brew --prefix openssl)" rbenv install 1.9.3-p392 $ RUBY_CONFIGURE_OPTS="--enable-shared --with-readline-dir=$(brew --prefix readline) --with-openssl-dir=$(brew --prefix openssl)" rbenv install 2.0.0-p0 $ rbenv global 1.9.3-p392 # 1.9.3 を使う $ rbenv rehash; ruby -v # バージョン確認
Chrome 拡張 - LiveReload のインストール
https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei
スクリプトひな形
Gemfile
source :rubygems gem 'sinatra' gem 'haml' group :development do gem 'guard' gem 'rb-fsevent' # OSX固有のもの gem 'guard-livereload' # ブラウザ自動リロード gem 'guard-ego' # Guardfile を変更した際に Guard が再起動される end
config.ru
require "bundler" Bundler.require require File.dirname( __FILE__ ) + '/app' run Sinatra::Application
app.rb
get '/' do 'Hello, World' end