2010-11-05 14 views
4

En regardant mon Gemfile.lock, j'ai trouvé une gemme spécifiée avec une version windows. C'est parce que je développe sous un environnement Windows (je sais, que puis-je dire?). Malheureusement, j'utilise heroku, qui est l'environnement Linux. Cela provoque le blocage de l'application.rails Gemfile.lock - version gem windows versus linux

J'ai trouvé un contournement: en supprimant le Gemfile.lock puis en validant et en poussant.

Mais cette solution n'est pas géniale non? Je veux dire, c'est comme réparer un pare-vent avec du ruban adhésif.

Je me demandais si vous avez trouvé une solution plus élégante pour ce problème d'environnement, qui ne me forcera pas à manipuler les fichiers.

D'avance, merci.

+0

Une question similaire a été soulevée il y a quelques mois mais je ne pense pas qu'il y ait eu une réponse satisfaisante pour le moment: http://stackoverflow.com/questions/3642085/make-bundler-use- different-gems-for-different-plates-formes – Steve

+0

Et si je git ignore Gemfile.lock? Cela fonctionnerait-il? –

Répondre

1

Gemfile.lock doit être dans le contrôle de la source et je suppose que vous voyez avertissement herokus que Gemfile.lock sera bientôt Champs obligatoires. Que faites-vous alors?

Tout n'est pas noir, j'ai des collaborateurs aussi malheureux que vous, bloqués sur Windows;) Certains utilisent Linux, d'autres Mac. Notre Gemfile.lock ressemble à ceci

GEM 
    remote: http://rubygems.org/ 
    specs: 
    ... 
    sqlite3-ruby (1.3.1) 
    sqlite3-ruby (1.3.1-x86-mingw32) 

D'autre part, Heroku ignorera sqlite3, donc cela pourrait ne pas être le meilleur exemple. Avec quel type de gemme vous battez-vous?

Je vous suggère d'essayer d'insérer manuellement la gemme avec le x86, comme dans l'exemple ci-dessus. J'espère que cela aide ...

0

En fait, la solution est d'ajouter la ligne

Gemfile.lock 

à .gitignore