shimxmemo

メモをのこすよ!

bundler 1.12系を使うとRailsのチュートリアルでGuardがコケる件

ここの所RubyRailsを下記で勉強してます。

railstutorial.jp

 

上記だと、まだRails 4なので、コマンドなどは同じ内容の本家英語版を見てます。

www.railstutorial.org

 

ここで表題の件で詰まる。

これプログラミング未経験者だったら死んでる。

(未経験者がプロジェクトごとに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
end

group :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'
end

group :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'
end

group :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

では解決しなかった。

 

参照

bundle exec rails console ができない, `require': cannot load such file -- bundler/setup (LoadError) の解決方法 - Qiita