bundler 1.12系を使うとRailsのチュートリアルでGuardがコケる件
上記だと、まだRails 4なので、コマンドなどは同じ内容の本家英語版を見てます。
ここで表題の件で詰まる。
これプログラミング未経験者だったら死んでる。
(未経験者がプロジェクトごとにbundlerでgem管理したりRails分けたりなんかしない説も)
前提
- Macbook Air 2011
- OS X El Capitan 10.11.6
- homebrewでrbenv(1.0.0)とruby-buildをインストール
- Ruby 2.3.1
- グローバルにbundler 1.12.5インストール
- プロジェクトごとにbundlerでgem管理
- Rails(5.0.0)もbundlerでインストールしている
- bundlerでインストールしたRailsを使用して操作を行う
ちなみにbundlerで管理しているGemfileは下記
Chapter 3: Mostly static pages | Ruby on Rails Tutorial (Rails 5) | Softcover.io
source 'https://rubygems.org'
gem 'bundler'
gem 'rails', '5.0.0'
gem 'puma', '3.4.0'
gem 'sass-rails', '5.0.5'
gem 'uglifier', '3.0.0'
gem 'coffee-rails', '4.2.1'
gem 'jquery-rails', '4.1.1'
gem 'turbolinks', '5.0.0'
gem 'jbuilder', '2.4.1'group :development, :test do
gem 'sqlite3', '1.3.11'
gem 'byebug', '9.0.0', platform: :mri
endgroup :development do
gem 'web-console', '3.1.1'
gem 'listen', '3.0.8'
gem 'spring', '1.7.2'
gem 'spring-watcher-listen', '2.0.0'
endgroup :test do
gem 'rails-controller-testing', '0.1.1'
gem 'minitest-reporters', '1.1.9'
gem 'guard', '2.13.0'
gem 'guard-minitest', '2.4.4'
endgroup :production do
gem 'pg', '0.18.4'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
エラー内容
$ bundle exec guard
01:34:17 - INFO - Guard::Minitest 2.4.4 is running, with Minitest::Unit 5.9.0!
01:34:17 - INFO - Guard is now watching at '/Users/shimura/projects/rails-tutorial/sample_app'
[1] guard(main)>
01:34:45 - INFO - Run all
01:34:45 - INFO - Running: all tests
/Users/hogehoge/.rbenv/versions/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- bundler (LoadError)
from /Users/hogehoge/.rbenv/versions/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/hogehoge/projects/rails-tutorial/sample_app/bin/spring:8:in `<top (required)>'
from bin/rake:3:in `load'
from bin/rake:3:in `<main>'
という感じでテストが実行されない。
どうしたか
大元にbundler 1.10.6をインストールし、実行時に
$ bundle _1.10.6_ exec guard
とbundlerのバージョンを指定して実行した。
原因が分からず、もにょるので詳しい方教えて欲しい。
ちなみに
$ bundle exec rake rails:update
では解決しなかった。