2009-12-02 5 views
2

Lorsque je tente de déployer mes rails app à mon hébergement mutualisé (dreamhost) Je reçois cette erreur:Comment geler une gemme qui ne veut pas geler? (Rack)

can't activate rack (~> 1.0.1, runtime) for [], already activated rack-1.0.0 for [] 

Je veux geler le bijou rack dans mon environnement de dev, et l'ajouter à la projet, mais même si j'ai dans ma config/environment.rb:

config.gem 'rack' 

Faire un râteau gemmes: déballer: dépendances ne gèle pas la pierre précieuse.

ajmbp:trunk ajl$ rake gems:unpack:dependencies 
(in /Users/ajl/dev/site/trunk) 
ajmbp:trunk ajl$ ll vendor/gems/ 
.svn/   haml-2.2.14/ net-ssh-2.0.16/ 

J'ai essayé d'ajouter une autre pierre précieuse à la config.gem juste pour tester (RedCloth) et qui fonctionne comme prévu, mais pas de chance avec rack.

Des idées? Merci!

Répondre

0

Avez-vous vérifié vos variables d'environnement (RUBY_GEMS je pense que c'est, ou quelque chose comme ça)? De plus, votre environnement.rb et (si vous utilisez fastcgi) votre .fcgi.

Assurez-vous que les chemins sont classés de la plus haute priorité à la plus basse.

0

Voir this article.

Any gem that is loaded in your Rakefile (e.g. metric_fu, vlad, etc) is considered to be a ‘framework gem’ by Rails, and such gems are not unpacked. Given that the vendor/gems directory is not yet in the load path when the Rakefile is loading, this is probably a good idea.

In other words, if you have a library that provides Rake tasks, or is otherwise necessary for your .rake files to be valid, don’t expect “config.gem” and friends to handle it for you.

Pour Dreamhost voir leur own documentation sur l'installation de vos propres pierres précieuses. Ou voyez this excellent article sur la façon de charger vos propres paquets et gemmes (attention, ce n'est pas pour les faibles de cœur). Mais toutes mes lectures me disent que vous pourriez encore avoir des problèmes à cause de la façon dont Passenger utilise la version Rack installée par Dreamhost.

Bonne chance.

1

Essayez-vous de mettre à niveau vers Rails 2.3.5? Lire ce fil: Bypassing rack version error using Rails 2.3.5

Réponse courte: Vous ne pouvez pas. Mais Dreamhost mettra à jour Rails lundi.

+0

Pour le suivi - en fait oui vous pouvez, mais c'est compliqué et beaucoup plus facile juste pour obtenir dreamhost de vous déplacer vers un serveur plus récent. –

Questions connexes