Gem использует неправильную версию ActiveSupport (3.0.3) и должен использовать 2.3.9 при развертывании в Heroku.

У меня есть приложение rails 2.3.9, которое использует драгоценный камень и отлично работает, когда я запускаю его локально. Но когда я пытаюсь отправить свое приложение в героку, оно прерывается, говоря, что драгоценный камень активировал активную поддержку 3.0.3, и что мое приложение героку не может запускать активную поддержку 2.3.9, потому что 3.0.3 уже активирован... Я удалил активную поддержку 3.0.3 локально и переустановил гем локально, но все еще не работает в героку.

  1. Действительно ли была удалена программа activesupport3.0.3 (sudo gem uninstall activesupport -v 3.0.3)?
  2. Почему драгоценный камень работает в моей локальной среде, а не в героку?
  3. Когда вы нажимаете на героку (git push heroku master) и он читает файл .gem, почему, когда он начинает установку драгоценного камня, он все еще продолжает устанавливать активную поддержку 3.0.3 на героку??

мои журналы героку:

==> dyno-3352306.log (сбой) ‹== /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems.rb:233:in `activate': не удается активировать activesupport (= 2.3.9 , среда выполнения) для ["rails-2.3.9"], уже активированная активная поддержка-3.0.3 для ["THISGEM-1.2.3"] (Gem::LoadError)

может кто-нибудь дать мне некоторое руководство?? Ваша помощь очень ценится!

.драгоценные камни

rails --version 2.3.9
will_pagnate --version x.x.x
THISGEMTHATDEPENDSONACTIVESUPPORT&HPRICOT--version 1.2.3 --ignore-dependencies
hpricot --version x.x.x

person thedeepfield    schedule 30.11.2010    source источник
comment
Вы используете Бандлер? Если нет, у вас есть файл .gems?   -  person Jesse Wolgamott    schedule 30.11.2010
comment
Спасибо за ответ! Я использую .gems и пытался использовать --ignore-dependencies, но он не работает, он говорит, что --ignore-dependencies не распознан. Я отредактировал свой исходный пост, чтобы показать свой файл .gems   -  person thedeepfield    schedule 01.12.2010
comment
Героку не ты. Гемы, которые вы установили на свой компьютер, не имеют ничего общего с гемом, установленными в вашей среде Heroku :/   -  person Matchu    schedule 01.12.2010


Ответы (1)


после того, как я попробовал метод упаковщика gemfile и имел перерыв в will_pagnate как локально, так и при развертывании, я еще раз взглянул на манифест .gems. и в этот раз получилось!! Я не знаю, что я изменил, но я думаю, что порядок, в котором вы перечисляете свои драгоценные камни, имеет значение. «THISGEMTHATDEPENDSONACTIVESUPPORT&HPRICOT» должен идти ПОСЛЕ hpricot. так что, когда heroku читает файл gems, он устанавливает зависимости ДО установки «THISGEMTHATDEPENDSONACTIVESUPPORT&HPRICOT». мой окончательный файл .gems выглядел так, и это сработало! может кто-нибудь подтвердить, что это так? Удивительно, я застрял на этом на 2 дня, только чтобы узнать, в каком порядке вы перечисляете свои драгоценные камни.

rails --version 2.3.9
will_pagnate --version x.x.x
hpricot --version x.x.x
THISGEMTHATDEPENDSONACTIVESUPPORT&HPRICOT--version 1.2.3 --ignore-dependencies
person thedeepfield    schedule 02.12.2010