rbenvからbundlerをインストールする
bundlerのインストール
rbenv exec gem install bundler
※ rbenv exec
はシステムrubyのgemではなくrbenvで現在有効なrubyのgemdであることを明記する表記 参考記事
現在有効なRubyにインストールされたgemを確認方法
rbenv exec gem list
インストールしたgemパッケージの保管場所の確認方法
rbenv exec gem which bundler
Railsローカルインストールとプロジェクトの作成
※新規Railsプロジェクトの作成時には毎回以下のステップを行う
bundlerを使って一時的にRailsをローカルにインストール プロジェクト直下のディレクトリにGemfileを作成
cat << EOS > Gemfile
source "http://rubygems.org"
gem "rails", "バージョンを指定" # ←ローカルインストールしたいRailsのバージョンを指定。指定しなければ最新版が入る。
EOS
bundleをvender/bundle
ディレクトリにインストール
bundle install --path vendor/bundle
※bundle install時に—pathをつけることでgemのインストール先をRuby環境からローカルのvendor/bundle以下に指定することが可能
ちなみに自分は上記を試してエラーが発生
An error occurred while installing nokogiri (1.10.1), and Bundler cannot
continue.
Make sure that `gem install nokogiri -v '1.10.1' --source 'http://rubygems.org/'`
succeeds before bundling.
どうやら必須ファイルのインストールが必要らしい
以下コマンドを実行
brew tap homebrew/dupes #リポジトリの追加
brew install libxml2 libxslt libiconv #必須ファイルのインストール
brew link --force libxml2
brew link --force libxslt
brew link --force libiconv
そして指定したパスにNokogiriをインストール(参考)
NOKOGIRI_USE_SYSTEM_LIBRARIES=1 bundle install --path=vendor/bundle
これで問題なくインストールできた
以下コマンドでインストールしたgemを確認
bundle list
Railsプロジェクトを作成(ようやっとここまできた!)
bundle exec rails new example --skip-bundle
※必ず--skip-bundle
をつける。つけないとRuby環境にgemがインストールされる
Railsのローカルインストールのために使ったbundlerの環境とRailsを削除する
rm -f Gemfile
rm -f Gemfile.lock
rm -rf .bundle
rm -rf vendor/bundle
今回も以下の記事をほぼコピらせてもらいました。(ありがとうございます)
Rails開発環境の構築(複数バージョン共存可能)(Homebrew編)
最後に
明日は再度bundleのインストールとRailsプロジェクトの起動まで進めようと思います。