Бандлер (или Ruby) искажение требует пути
Около 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>'
Для меня это пахнет повреждением памяти при построении пути require, но я не знаю, почему это произошло бы только при использовании 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, и на коробке только два рубина: один домашний и системный.
1 ответ
У меня тоже была эта проблема. дела gem install bundler --pre
исправил это для меня.