Ответ 1
попробуйте поставить пакет exec перед командой rake.
bundle exec rake -T
Возможный дубликат:
Rails 3.0 и Ruby 1.9.2rc: команды Rake возвращают "уже инициализированную константу" и слишком глубокие ошибки уровня стека. Любые идеи
Использую Ruby версии 1.9.1 для Windows Vista. Я получаю ошибку с отменой рейка для любых команд рейка, которые я использую. Это происходит не во всей папке приложения. Это происходит только в отдельной папке приложения.
C:\rails_project\stunetwork>rake db:reset
(in C:/rails_project/stunetwork)
rake aborted!
stack level too deep
C:/Ruby191/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2383:in `raw_load_rak
efile'
(See full trace by running task with --trace)
попробуйте поставить пакет exec перед командой rake.
bundle exec rake -T
Вам нужно обновить свой драгоценный камень. Я встретил эту ошибку с помощью gem "1.8.10" и исправил обновление до 1,8.16
gem update --system
У меня была эта проблема только с ruby-1.9.2-p180 через rvm.
Переключение на ruby-1.9.2-p0 устранило проблему. попробуйте использовать "rvm use 1.9.2-p0"
Стек вызовов может зависеть от установленных вами камней (некоторые gems monkeypatch рельсовые задачи), что объясняет, почему вы столкнулись с этим в определенном приложении, а не на других.
В системе unix вы можете попробовать использовать команду ulimit для увеличения размера стека. На стороне окна я еще не нашел решение.
В зависимости от того, какой выпуск рубина вы используете в Windows, вы можете попросить сопровождающих, как увеличить стек.
Для рубинового установщика вам нужно будет установить среду компиляции mingw, клонировать репозиторий github и перекомпилировать рубин, который вы используете (не очень сексуальный Я признаю).
Я только что столкнулся с этим точным сообщением об ошибке на Ubuntu и смог решить его с помощью понижения рубигемов от 1.8.3 до 1.7.1.
Есть хорошая статья от Yehuda Katz, которая объясняет, почему без bundle exec
могут быть конфликты версий:
http://yehudakatz.com/2011/05/30/gem-versioning-and-bundler-doing-it-right/
Существует также команда bundle install --binstubs
, которая позволяет безопасно запускать rake db:reset
с помощью версии: bin/rake db:reset
.