2015-08-02 1 views
12

Similaire à problem with rack 1.3.2. You have already activated rack 1.3.2, but your Gemfile requires rack 1.2.3 - J'éprouve You have already activated rack 1.6.0, but your Gemfile requires rack 1.6.4 lorsque j'essaie d'exécuter Rails (4.2) en production avec Puma et Nginx.Vous avez déjà activé le rack 1.6.0, mais votre Gemfile requiert le rack 1.6.4

bundle update rake ni rm Gemfile.lock && bundle install semblent aider, la seule solution que j'ai à ce jour est en train de changer manuellement rack (1.6.4) à rack (1.6.0) en Gemfile.lock.

+2

ce qui est similaire à votre cas. http://stackoverflow.com/questions/9241912/how-to-force-rack-to-work-around-the-usual-you-have-already-activated-rack. vous devez supprimer rack version 1.6.0 comme ceci 'gem uninstall rack -v 1.6.0' – Athar

+0

Avez-vous essayé binstub? Vérifiez la réponse ci-dessous – Anatoly

+2

Cela a effectivement fait l'affaire @Athar - tyvm! –

Répondre

1

Exécutez-le comme ceci: bundle exec rails s. Ceci utilisera les paramètres de votre Gemfile.lock

+0

Merci, mais voir le commentaire d'Athar ci-dessus. –

+1

Peu importe avec quelle précision vous installez ou désinstallez les gemmes, vous finirez avec plusieurs versions. Exécuter est bundle exec est la bonne façon de le faire et supprime l'ambiguïté de la version de votre déploiement – Zepplock

+0

@Zepplock droite, "binstubs" est un moyen d'éviter de préfixer * bundle exec * tout le temps – Anatoly

2

Un développeur Rails expérimenté highly recommends utilisant des binstubs. Avez-il installé par:

bundle install --binstubs 

et l'exécuter par chemin relatif:

./bin/rails server 

ou ce qui est mise à jour la plus recommandée PATH et oublier les problèmes de Bundler:

export PATH="./bin:$PATH" 
rails server 
+0

Non, c'est en production en utilisant Puma. Le commentaire d'Athar ci-dessus l'a corrigé. Merci! –

+1

Cela se reproduira s'il n'est pas corrigé correctement – Anatoly