はじめに
Railsを1年以上ぶりに触る過程でいろいろ気づきを得た
以前は勘違いしていた箇所や不要な処理もあったため書き直し
前提
HomebrewとxcodeのCommand Line Toolsはinstallされている前提とします。
まだの方は下記記事を参考にinstallしてください
rbenvのインストール
# rbenvのinstall (ruby-buildも自動でインストールされる)
# ruby-build:「rbenvのプラグインとしてrbenv installコマンドを使用できるようにする」
1 brew install rbenv
# rbenvが正常にインストールできたか確認
2 rbenv -v
# rbenvでinstallされたRubyを実行するためのPATHを通す
3 echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
# rbenvの初期化(rbenvを現在のSHELLで有効化するためのコマンド)
# shimのPATHの設定, rbenvでの自動補完の有効化など、複数の効果がある
4 echo 'eval "$(rbenv init -)"' >> ~/.zshrc
# .zshrcを再読み込み
5 source ~/.zshrc
Rubyのインストール
# install可能なRubyを一覧取得
rbenv install --list
# rubyのinstall
rbenv install <version>
# rbenvでinstallしたRubyの確認
rbenv versions
# 使用したいRubyを設定する
rbenv global <version>
# rbenvの設定を再読み込み (適切なversionのコマンドを利用可能にする)
rbenv rehash
# Rubyの設定を確認
ruby -v
Ruby on Railsのインストール
# railsのinstall (global)
# versionを指定しない場合最新versinonがinstallされる
gem install rails -v 'version'
# 適切なversionのコマンドを利用可能にする (Railsコマンドが使えるように再読み込み)
rbenv rehash
# railsのversionを確認する
rails --v
Railsの開始
# 新しいRailsのアプリケーションを作成
# applicationに必要なファイル群を生成し最後にbundle installを実行する
rails new myapp
# lockファイルに記載されたrailsで起動「bundle execをつけたのと同様」
# errorが出ない限りrail sでも大丈夫そう
/bin/rails s
終わりに
以前はRails界隈における2大勢力 --path vendor/bundle付ける派 vs 付けない派閥で付ける派だったのですが、bundlerのデフォルトの挙動がglobal installな点や参考資料のリンク先での主張を考慮してglobalで行こうと思います。
むしろlocal installしたことが影響してエラーにつながる経験を何度かした。
globalを汚染したくないのであればDocker化するのが良いかもしれません。
参考
Pikawaka
Ruby STUDIO eval "$(rbenv init -)が必要な理由とか
pathいらないんじゃないか論