やったこと
Rails5 で利用する Ruby のバージョンをあげた後、bundle install がコケた時のメモです。
確認環境
作業前
$ ruby -v
ruby 2.2.7p470 (2017-03-28 revision 58194) [x86_64-darwin16]
$ rails --version
Rails 5.2.3
作業後
$ ruby -v
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin17]
$ rails --version
Rails 5.2.3
実施
Ruby のバージョンを 2.2.7 -> 2.5.0 にした後、
bundler のインストール
$ bundle update
エラー抜粋
rbenv: bundle: command not found
The `bundle' command exists in these Ruby versions:
2.1.5
2.2.2
2.2.7
bundle コマンドが rbenv の 2.5.0 で利用できない状態だからです。
ということで、bundler を入れます。
$ gem install bundler
Fetching: bundler-2.0.1.gem (100%)
Successfully installed bundler-2.0.1
Parsing documentation for bundler-2.0.1
Installing ri documentation for bundler-2.0.1
Done installing documentation for bundler after 3 seconds
1 gem installed
bundler でコケる
$ bundle install
Traceback (most recent call last):
2: from /Users/xxxx/.rbenv/versions/2.5.0/bin/bundle:23:in `<main>'
1: from /Users/xxxx/.rbenv/versions/2.5.0/lib/ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
/Users/xxxx/.rbenv/versions/2.5.0/lib/ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundle (Gem::GemNotFoundException)
$ gem install bundler -v 1.16.1
これを実行して、もう1回 bundle install します。
nokogiri でコケる
$ bundle install
エラー抜粋
An error occurred while installing nokogiri (1.9.1), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.9.1'` succeeds before bundling.
...
pkg-config could not be used to find libxml-2.0
Please install either `pkg-config` or the pkg-config gem per
gem install pkg-config -v "~> 1.1"
この gem を取り込めば OK そうです。
インストール後、bundle install は無事に終わりました。(やっていることの割に険しかった)