2012-04-16 3 views
0

Я получаюгде рубиновый поиск файлов?

no such file to load -- bundler/setup 

, когда я пытаюсь вызвать

require 'bundler/setup' 

из моего boot.rb

Причина заключается в том, что рубин не имеет представление о местоположении ЛИЭС пакетирования, который

/Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler 

Как добавить этот путь к рубину? это путем добавления $ Path? если да, это хорошая практика, чтобы добавить libs для каждого драгоценного камня к пути, поскольку каждый камень имеет свою собственную структуру локального lib!

PS Я добавил $ GEM_HOME моим ENV переменных, указывает на /Library/Ruby/Gems/1.8 и оно не решить проблему

BTW Понимает ли рубин $ GEM_HOME переменную ENV? если да, то он копает глубоко в своих каталогах?

+2

'ruby -e" ставит Gem.path "' печатает, где Ruby ищет драгоценные камни. Также посмотрите на 'gem env' и' gem, который связывает '. –

+0

приятно! поэтому, когда я говорю, например, требуется «bundler»; ruby выполнит gem, который связывает и ищет по пути – aaalsubaie

+0

Это оказывается немного сложнее, чем это (рубин буквально не выполняет 'gem'). В некоторых версиях Ruby на некоторых ОС, gem и ruby ​​могут не согласиться с тем, что происходит с путями, что приводит к путанице. Иногда вы добавляете пути к GEM_HOME. См. Мой, возможно, соответствующий ответ здесь: http://stackoverflow.com/questions/2945228/i-see-gem-in-gem-list-but-have-no-such-file-to-load/2945509#2945509. Я не знаю, является ли это частью проблемы, которую вы имеете или нет. –

ответ

-1

Что делать, если вы добавите драгоценный камень для вашего Gemfile?

+0

такая же ошибка. FYI, если я запускаю рельсы exec пакета ... это работает! может быть, это проблема зависимости. – aaalsubaie

+1

Добавление пакета в ваш Gemfile не имеет смысла. Bundler - это то, что читает ваш Gemfile в первую очередь. –

Смежные вопросы