Ruby on Rails 初期構築
バージョンは以下の通り
- Bundler version 1.16.5
- ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]
github にリポジトリ作成してクローン
$ git clone https://github.com/xxxx\rails_project
--
bundle 初期化
$ cd rails_project/
$ bundle init
でGemfileが生成されます。
Gemfile
$ cat Gemfile
# frozen_string_literal: true
source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
gem "rails" # ←コメント外します。
bundle install
$ mkdir -p vendor/bundle
$ bundle install --path ./vendor/bundle
/vendor/bundleに上記のGemfileのパッケージがインストールされて、Gemfile.lockが生成されます。
Rails プロジェクト生成
$ bundle exec rails new -B -d mysql -f .
Gemfileがrails用に上書きされます。ので再び
rails bundle install
$ bundle install
An error occurred while installing mysql2 (0.5.2), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/'` succeeds before bundling.
mysql のエラーが表示されたら、
$ brew install mysql
$ bundle install
データベース作成&マイグレーション
database.yml
default: &default
adapter: mysql2
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: root
password: root
host: 127.0.0.1
development:
<<: *default
database: RailsStudy_dev
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
<<: *default
database: RailsStudy_test
$ bundle exec rails db:create
$ bundle exec rails db:migrate
ローカルサーバー起動
$ bundle exec rails server