概要
・Ruby on Railsのインストール
・railsアプリの新規作成
実行マシンは Mac OS high Sierraです。
インストールするもの(大事な物)
Homebrew
・Macにソフトをインストールする時の手順を簡単にしてくれるもの。
rbenv
・homebrew経由でインストールする。
・rubyのバージョン管理マネージャー,プロジェクトごとにRubyのバージョンを管理する。
Ruby
・rbenv経由でインストールする。
・Ruby単独でインストールできるが、rbenvでRubyバージョンを使い分ける(切り替える)ので、rbenv経由でインストール。
Bundler
・RubyGems経由でインストールする(Bundlerはgem)。
・プロジェクトごとに使用するRailsやgem等のバージョンを決めるために使用する。
Rails
・railsはgem。
・bundler経由でインストールする。
※Command Line Toolsが必要と言われることがありますが、現在はインストールしていなくてもいいようです。
インストール手順
Homebrewのインストール
インストールコマンド
最新のコマンドは、https://brew.sh/index_ja で確認してください。
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brewのバージョン確認
$ brew -v
Homebrew 1.8.5
Homebrew/homebrew-core (git revision 0b33e; last commit 2018-12-13)
pathの設定
$ echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile
書き込み先は.bashrcの場合もありますので、適宜読み替えて下さい。
※参考サイト
http://qiita.com/vintersnow/items/fca0be79cdc28bd2f5e4
rbenvのインストール
インストールコマンド
$ brew install rbenv
PATHの設定
#PATHを通す
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
#rbenvを使うには、rbenv init -というコマンドが毎回必要
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
# 環境のリロード
$ source ~/.bash_profile
参考:https://github.com/rbenv/rbenv#installation
rbenv init https://github.com/rbenv/rbenv/blob/master/libexec/rbenv-init
Rubyのインストール
具体的なインストール方法は新規アプリの作成のところで説明します。
参考:複数バージョンのインストールと切り替え
# Rubyインストールリストの更新
$ brew upgrade ruby-build
# インストール
$ rbenv install -l
$ rbenv install [バージョン]
# アンインストール
$ rbenv uninstall [バージョン]
$ rbenv local [バージョン]
#=> 特定のRailsプロジェクトなどに適用する場合に選択する
#=> 事前に指定したいRailsプロジェクトに移動しておく
※globalよりloacalのバージョンが優先される
# リフレッシュ
$ rbenv rehash
# インストールされているバージョンの確認
$ rbenv versions
bundlerのインストール
Bundlerがインストールされているか確認する。
$ bundle -v
Bundler version 1.15.3
インストールコマンド
※ 「rbenv exec」を付けることで、rbenvで適用されているRubyのgemを明示的に実行している。
※ rbenv経由でインストールしているRubyバージョン全てで、Bundlerのインストール作業が必要。
$ rbenv exec gem install bundler
Rubyのバージョンを切り替えるには
$ rbenv local 2.4.0
新規Railsアプリの作成
アプリを作成したい任意のディレクトリに移動
$ mkdir [任意のディレクトリ名]
$ cd [任意のディレクトリ名]
Rubyのバージョンを指定
新規アプリで使うrubyのバージョンをここで指定します。
.ruby-versionというファイルが作られます。
[任意のディレクトリ名]$ rbenv local 2.4.1
#ディレクトリの中身を確認
[任意のディレクトリ名]$ ls -la
-rw-r--r-- 1 username staff 6 8 26 07:11 .ruby-version
bundle initでGemfileファイルを作成
[任意のディレクトリ名]$ bundle init
# ディレクトリにgem "rails"が記載されたGemfileができる
[任意のディレクトリ名]$ more Gemfile
# frozen_string_literal: true
source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
# gem "rails" <-ここを編集
Gemfileを編集
先程作ったGemファイルの# gem "rails"から'#' を消す(gem "rails", "5.0.5"みたいな感じでversion指定もできる)
bundlerを使ってrails newするのに必要なgemをインストールする
bundleコマンドでrails gemをディレクトリにインストールGemfile.lockが作成される。またvendor/bundleにrails new用のgemをインストールするために、--path .vendor/ をつける。
$ bundle install --path .bundle/
Fetching gem metadata from https://rubygems.org/..........
Fetching version metadata from https://rubygems.org/..
Fetching dependency metadata from https://rubygems.org/.
Resolving dependencies...
Fetching rake 12.0.0
.
.
.
Installing rails 5.1.3
Bundle complete! 1 Gemfile dependency, 38 gems now installed.
Bundled gems are installed into ./vendor/bundle.
やっと、Railsアプリを作成する
※ bundle installをスキップしている。何もオプションをつけずにrails newを実行すると、bundle installが自動的に走る。そのためグローバルな gem環境が汚れてしまうので、--skip-bundleオプションをつけることでbundle installが走るのを止めている。
$ bundle exec rails new MyApp --skip-bundle
rails newするためにローカルインストールしたrailsを削除
MyAppを作成するため使ったGemたちはもう必要ないので、削除してしまう。
$ rm -f Gemfile*
$ rm -rf .bundle
MyApp内に移動し、gemをbundlerでアプリ内にローカルインストール
ここでやっとプロジェクトに必要なgemをローカルにインストールする。
こうすることで、プロジェクトごとにgemを使い分けることが出来る。
$ bundle install --path vendor/bundle
gemのインストールが完了したらアプリが動くか確認するためにserverを起動
$ bundle exec rails server
ブラウザで以下にアクセス
localhost:3000
参考
https://railstutorial.jp/chapters/beginning?version=5.1#cha-beginning
https://brew.sh/index_ja
https://github.com/rbenv/rbenv
https://www.qoosky.io/techs/8a0f1d8d9e
https://dev.classmethod.jp/server-side/language/build-ruby-environment-by-rbenv/