ruby on rails環境構築


rbenvインストール

  • rbenvをインストールする
$ brew install rbenv
  • バージョンの確認
$ rbenv -v
  • .zshrcファイルに追記
[[ -d ~/.rbenv  ]] && \
  export PATH=${HOME}/.rbenv/bin:${PATH} && \
  eval "$(rbenv init -)"

Rubyインストール

  • rbenvからインストールできるRubyを確認
$ rbenv install --list
  • Rubyインストール
$ rbenv install 2.6.5
  • インストールしたRubyに切り替える
$ rbenv global 2.5.4
$ rbenv rehash
$ ruby -v
  • ターミナル再起動

Bundlerのインストール

Bundlerとはgemの依存関係とバージョンを管理してくれるツール。
Bundlerをgemでインストールする。

$ gem install bundler

インストール確認

$ bundle -v

MySQLインストール

$ brew install mysql
  • Mysqlを自動起動させるコマンド
$ brew tap homebrew/services
$ brew services start mysql

railsインストール

workspaceを作成

$ mkdir ruby
$ cd ruby

作ったWorkspaceにGemfile作成

$ bundle init

Gemfileを開く

gem "rails" #コメントを外す
gem 'mysql2','~>0.5.2'
gem 'dotenv-rails'

railsがインストールされる

$ bundle install

mysql2 インストール

$ bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib"
$ bundle install
$ bundle list

railsアプリ作成

$ rails new test -d mysql
$ cd test

config/database.ymlを修正

default: &default
  adapter: mysql2
  encoding: utf8mb4
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: <%= ENV['DATABASE_DEV_USER'] %>
  password: <%= ENV['DATABASE_DEV_PASSWORD'] %>
  host: <%= ENV['DATABASE_DEV_HOST'] %> 
  socket: /tmp/mysql.sock

development:
  <<: *default
  database: <%= ENV['DATABASE_DEV_NAME'] %>

# 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:  <%= ENV['DATABASE_TEST_NAME'] %>

envファイル作成・編集

.envファイル編集

$ touch .env
$ vim .env

.envファイル編集

DATABASE_DEV_PASSWORD = 'パスワード'
DATABASE_DEV_USER = 'ユーザ名'
DATABASE_DEV_HOST = 'ホスト名'
DATABASE_DEV_NAME = 'test_dev'
DATABASE_TEST_NAME = 'test_test'

DB作成

$ rails db:create

サーバー起動

$ rails s
  • 起動確認
http:localhost:3000