個人的なメモなので今更でも、適当でもいいのだと言い訳してみる。
今回は本当に基礎的な部分に関してだけまとめる。
#環境
以下の環境で行った。
開発環境 | バージョン |
---|---|
MacBook | 10.9 |
rbenv | rbenv 0.4.0 |
rubygems | 2.2.2 |
Bundler | version 1.5.3 |
ruby | 2.1.1p76 |
環境の準備に関しては、別途用意する。
#sinatraの準備
適当なフォルダ内で以下のコマンドを打つ。
bundle init
するとGemfileが生成される。
ディレクトリ構造は下のようになる。
.
└── Gemfile
Gemfileを開き以下のように編集する。
source "http://rubygems.org"
gem "sinatra"
その後以下のコマンドを打つ。
bundle install --path vendor/bundle
optionでpathを指定している理由は、システムにインストールし過ぎるとgemがカオスになるらしく、bundlerの推奨環境としてvender/bundle以下に個別に管理するようにしたほうが良いらしい。
コマンドを打った後のディレクトリ構造は以下のようになる。
.
├── Gemfile
├── Gemfile.lock
└── vendor
#sinatraの起動
インストールが終わったら起動用のスクリプトを配置する。
名前はapp.rbを使う。
今回は起動をするだけなので中身はいたってシンプル。
require 'sinatra'
これだけ。
用意が終わったら下のコマンドで起動してみる。
bundle exec ruby app.rb
すると
のように表示がされるので、適当なブラウザで開いてみると
このように表示される。
今回はapp.rbの中で"/"に対してアクセスが有った時に何も指定をしていないのでこのようなエラー画面が表示された。
#感想
bundle installで毎度毎度pathの指定を忘れて、システムのgemにインストールしてしまって慌てるのは僕だけじゃないはず。
なんか楽な方法はないのかな?
bundle exec ruby も面倒くさいなぁ・・・