2010-11-30 45 views
1

J'ai une application rails 2.3.9 qui utilise une gemme et fonctionne parfaitement bien quand je l'exécute localement. Mais quand j'essaye de pousser mon application à heroku ça casse en disant que la gem activésupport 3.0.3, et que mon application heroku ne peut pas lancer activeupport 2.3.9 car 3.0.3 est déjà activé ... J'ai désinstallé activeupport 3.0.3 localement, et réinstallé la gem localement mais ne fonctionne toujours pas dans heroku.Gem utilisant mauvaise version activeupport (3.0.3) et devrait utiliser 2.3.9 lorsqu'il est déployé à Heroku

  1. Est-ce que activeupport3.0.3 a vraiment été désinstallé (sudo gem uninstall activesupport -v 3.0.3)?
  2. Pourquoi la gemme fonctionne-t-elle dans mon environnement local et non pas heroku?
  3. En poussant à heroku (git pousser maître heroku) et il lit le fichier .gem, pourquoi est-il que quand il commence à installer la gemme, il continue à installer ActiveSupport 3.0.3 sur heroku ??

mes journaux de Heroku:

==> Dyno-3352306.log (crash) < == /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems.rb:233: dans `activate ': impossible d'activer activesupport (= 2.3.9, runtime) pour [" rails-2.3.9 "], déjà activé activeupport-3.0.3 pour [" THISGEM-1.2.3 "] (Gem :: LoadError)

quelqu'un peut-il me donner quelques conseils ?? Votre aide est grandement appréciée!

.gems

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

Utilisez-vous Bundler? Si non, avez-vous un fichier .gems? –

+0

Merci pour votre réponse! J'utilise .gems, et j'ai essayé d'utiliser --ignore-dependencies mais son ne fonctionne pas, il dit que "--ignore-dependencies" n'est pas reconnu .. J'ai édité mon post original pour montrer mon fichier .gems – thedeepfield

+0

Heroku n'est pas toi. Les gemmes que vous avez installées sur votre ordinateur n'ont rien à voir avec les gemmes installées dans votre environnement Heroku: / – Matchu

Répondre

0

après avoir essayé la méthode Gemfile de Bundler, et ayant rupture will_pagnate sur moi à la fois au niveau local et sur le déploiement, j'ai eu un coup d'œil à .gems manifeste une fois de plus. et cette fois ça a marché !! Je ne sais pas ce que j'ai changé mais je pense que l'ordre dans lequel vous listez vos gemmes importe .. le "THISGEMTHATDEPENDSONACTIVESUPPORT & HPRICOT" doit aller après Hpricot. de sorte que lorsque heroku lit le fichier gems, il installe les dépendances AVANT d'installer le "THISGEMTHATDEPENDSONACTIVESUPPORT & HPRICOT". mon dernier fichier .gems ressemblait à ça, et ça a marché! quelqu'un peut-il confirmer que c'est le cas? Incroyable, j'ai été bloqué sur ce pendant 2 jours, seulement pour découvrir sa commande vous liste vos gemmes.

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