2010-12-28 3 views
2

Cela cause tellement de problèmes de déploiement que c'est ridicule. La plupart du temps, je me fiche de la version de gemmes utilisée, je veux juste utiliser la dernière version.Pouvez-vous désactiver Bundler dans les rails 3?

Mise à jour en réponse aux commentaires:

Voici quelques exemples du haut de ma tête:

développeur
  1. A utilise une pré-version d'une pierre précieuse alors quand il court « paquet mise à jour ', le Gemfile.lock est foiré pour tout le monde et si vous le déployez, il va votre site.
  2. Un bogue dans une gemme est réparé afin que nous exécutons la mise à jour de gemme à travers nos serveurs, redémarre des rails et yay, correction de bogue! Oh, mais attendez, ce n'est pas réparé? Merci bundler. Ce qui aurait dû être une solution facile est maintenant un déploiement de code complet sur nos serveurs.

C'est juste un couple sur le dessus de ma tête. Au moins laissez-nous décider si nous voulons verrouiller dans les versions gem ou peut-être au moins permettre une gamme de versions par exemple toute version 2.X.

MISE À JOUR 2: Et encore une autre question quand il y a des fenêtres développeurs de l'équipe

Voici ce qui montre dans une fenêtre Gemfile.lock:

nokogiri (1.4.4) 
nokogiri (1.4.4-x86-mingw32) 

Wow, c'est tout simplement génial. Bien sûr, cela facilite le travail d'équipe et le déploiement.

+3

Vous êtes libre d'exiger tout ce que vous voulez, ** mais pas **. Apprenez à utiliser et comme bundler et vous serez beaucoup plus heureux à long terme. Utiliser la dernière version d'un bijou est bien pour le développement, mais pour la production - à moins que vous soyez le seul à utiliser le site - vous pouvez et devez vous préoccuper de la version que vous utilisez.En utilisant le dernier, quoi qu'il arrive, est une recette pour une rupture subtile. –

+3

Quels problèmes avez-vous avec cela? Vous n'êtes pas obligé de spécifier des versions; bundler est bon pour résoudre les conflits de versionnement que "simplement installer le dernier" serait autrement causer. RVM + gemsets + bundler est assez à l'épreuve des balles en ce qui concerne le déploiement, d'après mon expérience. –

+0

Bundler est le contraire de l'ennuyeux. Vous pouvez aller chercher du café quand vous l'exécutez. – fivetwentysix

Répondre

2

Je recommande de commencer à utiliser deux techniques avec votre développement et le déploiement:

Spécifiez le numéro de version de pierres précieuses dans votre Gemfile.

Par exemple:

gem "rails", "3.0.1" 
gem "will_paginate", "~> 3.0.pre2" 

De cette façon, lorsque vous décidez que vous voulez mettre à jour les rails, ou will_paginate, changer les numéros de version dans votre Gemfile.

Mise à jour seulement certaines gemmes

plutôt que la commande bundler update générique, exécutez

bundler update rails 

Cela ne met à jour le joyau des rails à la dernière version, plutôt que d'obtenir la dernière de toutes les gemmes.

Si vous utilisez les deux 1 & 2, vous aurez une expérience plus heureuse.

+0

Ne verrons-nous pas encore la version dans Gemfile.lock? Ce qui signifie que cela ne serait d'aucune aide pour l'un ou l'autre de mes scénarios. –

+0

Cela aide dans les deux cas. Vous ne mettez à jour explicitement que lorsque vous en avez besoin, à la version que vous voulez. –

0

Ensuite, simplement, ne vérifiez pas votre Gemfile.lock dans le contrôle de la source. Tous les problèmes spécifiques que vous avez énumérés sont résolus.

Bien sûr, vous sacrifiez l'énorme avantage que Bundler vous offre par rapport à tout autre système de gestion des dépendances.

Questions connexes