#ruby-on-rails #ruby-on-rails-3 #rubygems #heroku #bundler
#ruby-on-rails #ruby-on-rails-3 #rubygems #heroku #bundler
Вопрос:
Я получаю следующую ошибку при миграции на Heroku.
Installing hoe (2.9.4) /usr/ruby1.9.2/lib/ruby/1.9.1/rubygems/installer.rb:170:in >
для установки’: hoe требуется версия RubyGems > = 1.4. Попробуйте ‘gem update —system’ обновить RubyGems сам. (Gem::InstallError)`
В нем говорится, что версия ruby gems устарела. Кто-нибудь знает, как я мог бы решить эту проблему?
использование rails 3.0.5 с ruby 1.9.2
bundler
Using rake (0.8.7)
Using RedCloth (4.2.2)
Using abstract (1.0.0)
Using activesupport (3.0.5)
Using builder (2.1.2)
Using i18n (0.5.0)
Using activemodel (3.0.5)
Using erubis (2.6.6)
Using rack (1.2.2)
Using rack-mount (0.6.14)
Using rack-test (0.5.7)
Using tzinfo (0.3.26)
Using actionpack (3.0.5)
Using mime-types (1.16)
Using polyglot (0.3.1)
Using treetop (1.4.9)
Using mail (2.2.17)
Using actionmailer (3.0.5)
Using arel (2.0.9)
Using activerecord (3.0.5)
Using activeresource (3.0.5)
Using archive-tar-minitar (0.5.2)
Using authlogic (2.1.6)
Using xml-simple (1.0.15)
Using aws-s3 (0.6.2)
Using bcrypt-ruby (2.1.4)
Using block_helpers (0.3.3)
Using bundler (1.0.10)
Using columnize (0.3.2)
Using diff-lcs (1.1.2)
Using json (1.5.1)
Using gherkin (2.3.6)
Using term-ansicolor (1.0.5)
Using cucumber (0.10.2)
Using nokogiri (1.4.4)
Using cucumber-rails (0.4.1)
Using daemons (1.0.10)
Using database_cleaner (0.6.7)
Using factory_girl (1.3.3)
Using faker (0.9.5)
Using fastercsv (1.5.4)
Using formtastic (1.2.3)
Using gem_plugin (0.2.3)
Using haml (3.0.25)
Using hoe (2.9.4)
Using thor (0.14.6)
Using railties (3.0.5)
Using rails (3.0.5)
Using kaminari (0.12.0)
Using ruby_core_source (0.1.5)
Using linecache19 (0.5.12)
Using meta_search (1.0.4)
Using mongrel (1.2.0.pre2)
Using paperclip (2.3.11)
Using pg (0.11.0)
Using pickle (0.4.7)
Using populator (1.0.0)
Using render_inheritable (1.0.0)
Using rspec-core (2.5.1)
Using rspec-expectations (2.5.0)
Using rspec-mocks (2.5.0)
Using rspec (2.5.0)
Using rspec-rails (2.5.0)
Using ruby-debug-base19 (0.11.25)
Using ruby-debug19 (0.11.6)
Using test-unit (1.2.3)
Using will_paginate (3.0.pre2)
Using typus (3.0.10) from https://github.com/fesplugas/typus.git (at master)
Using webrat (0.7.3)
Обновить:
heroku stack
aspen-mri-1.8.6
* bamboo-ree-1.8.7
bamboo-mri-1.9.2 (prepared, will migrate on next git push)
UPDATE2:
трассировка ошибки
Installing hoe (2.9.4) /usr/ruby1.9.2/lib/ruby/1.9.1/rubygems/installer.rb:170:in `install': hoe requires RubyGems version >= 1.4. Try 'gem update --system' to update RubyGems itself. (Gem::InstallError)
from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/source.rb:95:in `install'
from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/installer.rb:55:in `block in run'
from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/spec_set.rb:12:in `block in each'
from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/spec_set.rb:12:in `each'
from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/spec_set.rb:12:in `each'
from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/installer.rb:44:in `run'
from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/installer.rb:8:in `install'
from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/cli.rb:225:in `install'
from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/vendor/thor/task.rb:22:in `run'
from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/vendor/thor.rb:246:in `dispatch'
from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/vendor/thor/base.rb:389:in `start'
from /usr/ruby1.9.2/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/bin/bundle:13:in `<top (required)>'
from /usr/ruby1.9.2/bin/bundle:19:in `load'
from /usr/ruby1.9.2/bin/bundle:19:in `<main>'
FAILED: http://devcenter.heroku.com/articles/bundler
!Heroku push rejected, failed to install gems via Bundler
Комментарии:
1. вы работаете на стеке bamboo? запустите heroku stack, чтобы увидеть, на какой стек он настроен.
2. Похоже, что оно устарело, нет?
3. @ffoeg Я обновил свой вопрос. Я хочу перенести свой стек на 1.9.2, но у меня такое же сообщение об ошибке при выполнении ruby 1.8.7. @fl00r Да, я знаю, но это rubygems на стороне heroku, и я не знаю, как это исправить.
4. обновлено с полной трассировкой ошибки
Ответ №1:
Хорошо, я решил это.
hoe просто не работает с heroku, потому что они не поддерживают новые версии rubygems (это такая проблема с heroku)
Я добавил сюда драгоценный камень hoe:
group :test, :development do
gem "hoe"
end
и набрал следующее в моей консоли:
heroku config:add BUNDLE_WITHOUT="development:test"
Комментарии:
1. Рад, что вы решили это. Я собирался спросить, почему там была мотыга! 😉
2. Это зависимость от модульного теста. И у меня было это в файле Gemfile.
3. Я столкнулся с той же проблемой, но ваше решение у меня не сработало. По какой-то причине heroku все еще пытался установить
hoe
, хотя я точно следовал вашему решению.4. Можете ли вы опубликовать свой Gemfile.lock? Возможно, в gem, который у вас в производстве, требуется hoe get. Вы уверены, что ввели
heroku config:add
в своей консоли?