Railsの勉強を始めたので環境構築メモ。
環境
macOS Sierra バージョン 10.12.6
手順
ざっくり以下の手順で進めます。
- Homebrewのインストール
- rbenvのインストール
- Railsのインストール
- アプリケーションの作成
ターミナル上でコマンド実行していきます。
Homebrewのインストール
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
環境によってはWarning出るかもなので以下も参考に。
MacにHomebrewをインストールする手順とWarningの解決方法 - Qiita
Homebrewのアップデート時に出た5つのWarningと解決方法 - Qiita
rbenvのインストール
複数バージョンのRubyをインストールしたり切り替えるためのツール。
brew install rbenv ruby-build
rbenvがインストールされたか確認
rbenv --version
ターミナル起動時にrbenvの初期化が自動実行されるよう設定
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
Rubyのインストール
必要なバージョン番号を指定する。
rbenv install 2.3.0
インストールされているRubyの確認
rbenv versions
使用するRubyバージョンの切り替え
rbenv local 2.3.0
バージョン切り替え後にターミナルを再起動しないと反映されないっぽい。
Railsのインストール
gem install rails --version "4.2.1" --no-rdoc --no-ri
Railsのバージョン確認
rails -v
アプリケーションの作成
rails new sample
アプリケーションサーバーの起動
cd sample
bin/rails s
ブラウザで http://localhost:3000にアクセス。Railsアプリケーションの初期画面が表示されれば成功。
ここからコントローラーとアクションを作成していく。
sqlite3のエラーが出た場合
サーバー起動時に以下のエラーが出る場合は、追加で対応が必要です。
エラーメッセージを見てみると、ActiveRecordのdatabaseに指定しているsqlite3に問題があるようです。
Specified 'sqlite3' for database adapter, but the gem is not loaded. Add `gem 'sqlite3'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
Extracted source (around line #316):
どうやらGemfileに記述されているsqlite3にバージョン指定がないため、最新バージョンがインストールされていました(今回の環境ではv1.4.0)。sqlite3 v1.4.0はActiveRecordが未対応のため、本エラーが発生する模様。
Gemfileのバージョン指定で、sqlite3のバージョンを1.3.6まで落とすと起動できるようになります。
# gem 'sqlite3'
gem 'sqlite3', '~> 1.3.6'
Gemfileの記述を変更後、bundle install
を実行しましょう。
$ bundle install
ブラウザを再読込み(もしくはサーバー再起動)すると、画面が表示されるはずです。
もし別のエラーが出る場合は、エラーメッセージを見ながら対応しましょう。