Я пытаюсь выполнить направляющие 3 беты 4 и Ruby 1.9.2rc на Ubuntu 10.04. Это работало первоначально, но после выполнения моей первой установки/пакета пакета, я теперь получаю следующие ошибки во всех проектах направляющих. Даже основные 'направляющие новый testproject', сопровождаемый граблями, поднимают сообщения об ошибках.
Короче говоря, я озадачен. Любая справка относительно того, что могло вызывать это, будет очень цениться.
Единственная вещь, которую я заметил - который может или не может быть релевантным - состоит в том, что каталог в ~/.bundle файлы является рубиновым/1.9.1. 1.9.1 не установлен на моей машине - только 1.9.2rc. рубин-v возвращает 1.9.2
(in /home/john/Websites/sandbox/testerino)
/home/john/.bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake.rb:32: warning: already initialized constant RAKEVERSION
/home/john/.bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake/alt_system.rb:32: warning: already initialized constant WINDOWS
WARNING: Possible conflict with Rake extension: String#ext already exists
WARNING: Possible conflict with Rake extension: String#pathmap already exists
/home/john/.bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake.rb:404: warning: already initialized constant EMPTY_TASK_ARGS
/home/john/.bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake.rb:452: warning: already initialized constant EMPTY
/home/john/.bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake.rb:960: warning: already initialized constant RUBY_EXT
/home/john/.bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake.rb:964: warning: already initialized constant RUBY
/home/john/.bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake.rb:1033: warning: already initialized constant LN_SUPPORTED
/home/john/.bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake.rb:1242: warning: already initialized constant ARRAY_METHODS
/home/john/.bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake.rb:1245: warning: already initialized constant MUST_DEFINE
/home/john/.bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake.rb:1249: warning: already initialized constant MUST_NOT_DEFINE
/home/john/.bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake.rb:1253: warning: already initialized constant SPECIAL_RETURN
/home/john/.bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake.rb:1259: warning: already initialized constant DELEGATING_METHODS
/home/john/.bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake.rb:1569: warning: already initialized constant DEFAULT_IGNORE_PATTERNS
/home/john/.bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake.rb:1575: warning: already initialized constant DEFAULT_IGNORE_PROCS
/home/john/.bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake.rb:1612: warning: already initialized constant FileList
/home/john/.bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake.rb:1638: warning: already initialized constant EARLY
/home/john/.bundle/ruby/1.9.1/gems/rake-0.8.7/lib/rake.rb:1968: warning: already initialized constant DEFAULT_RAKEFILES
rake aborted!
stack level too deep
Похоже на странный рекурсивный require
.
Вы пытались удалить все версии rake
и переустановить? В 1.9.2rc есть ошибка, влияющая на загрузку гемов , так что может быть? Я не смотрел на нее внимательно, так как многие люди уже внимательно следят за ней ...
Примечание : 1.9.1 - это версия API, поэтому она верна.
Я тоже столкнулся с этой проблемой. Похоже, что это не связано с конкретными версиями rails или ruby, которые вы упоминаете, которые отличаются от тех, которые я использую (Rails 2.3.8, Rake 0.8.7, Ruby 1.9.1p378). Похоже, это связано с тем, что bundler и rake плохо работают вместе.
Решение, которое сработало для меня, упоминается в нижней части этого тикета на маяке. Вот краткая версия:
Как только вы это сделаете, вы немного испортите bundler. В этот момент вам придется очистить RUBYOPT, чтобы запустить команду bundle:
RUBYOPT= bundle install --relock
EDIT:
Подумав об этом немного больше, я не уверен, что это лучший способ решения этой конкретной проблемы. Вы можете попробовать совет Хирала Десаи и некоторые другие ответы, прежде чем прибегать к этому подходу, поскольку он изменяет окружение.