Назад | Перейти на главную страницу

Обработка пакетов (или 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>'

Для меня это пахнет повреждением памяти при построении требуемого пути, но я не знаю, почему это могло произойти только при использовании 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 исправил это для меня.