Примерно в 50% случаев, когда я бегаю bundle
(или bundle exec foo
) Я получаю следующее сообщение об ошибке:
> bundle
/usr/local/Cellar/ruby/1.9.3-p374/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': No such file or directory - /usr/local/lib/?y (Errno::ENOENT)
from /usr/local/Cellar/ruby/1.9.3-p374/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/local/Cellar/ruby/1.9.3-p374/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/lib/bundler.rb:8:in `<top (required)>'
from /usr/local/Cellar/ruby/1.9.3-p374/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/local/Cellar/ruby/1.9.3-p374/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/local/Cellar/ruby/1.9.3-p374/lib/ruby/gems/1.9.1/gems/bundler-1.2.3/bin/bundle:2:in `<top (required)>'
from /usr/local/bin/bundle:23:in `load'
from /usr/local/bin/bundle:23:in `<main>'
Для меня это пахнет повреждением памяти при построении требуемого пути, но я не знаю, почему это могло произойти только при использовании Bundler, а не с ванильным Ruby. Я знаю, что патчи Bundler Kernel.require
но ошибка (согласно трассировке выше), похоже, происходит до того, как путь будет передан этому методу.
Версии программного обеспечения у меня:
> ruby --version
ruby 1.9.3p374 (2013-01-15 revision 38858) [x86_64-darwin12.2.0]
> gem list bundler
*** LOCAL GEMS ***
bundler (1.2.3)
У меня не установлен rvm / rbenv / etc, и на коробке всего два рубина, один установленный homebrew и один системный.
У меня тоже была такая проблема. Делать gem install bundler --pre
исправил это для меня.