2010-02-25 2 views
1

Je suis confronté à un problème avec petit bijou rails lors du déploiement d'un machine.It de differet nécessite un travail supplémentaire sur l'installation gem.Which est le plus approprié pour un rail project.Plugin ou Gem. Pour certaines gemmes, aucun plugin correspondant n'a été trouvé. Je recherche les avantages de l'utilisation de plugin sur les gemmes et vice versa.Gem ou plug-in, ce qui est bon pour un rubis sur des rails projettent

+0

duplication possible de [Dans Ruby on Rails, quelle est la différence entre l'installation de quelque chose comme une gemme ou comme un plugin?] (Http://stackoverflow.com/questions/3629919/in-ruby-on-rails-whats- la-différence-entre-installer-quelque-chose-comme-un-gem-ou) –

Répondre

1

En général, j'utilise toujours un plugin s'il est disponible lorsqu'il est gelé dans le projet, ce qui signifie qu'il n'y a pas de problèmes lors du déploiement du projet. Vous pouvez geler des gemmes dans un projet, mais si elles nécessitent une construction native, cela provoque plus de tracas que cela en vaut la peine.

Je crois comprendre que les gemmes sont plus faciles à mettre à niveau que les plugins.

Vous devriez également regarder dans le bundles 3 bundler qui est utilisé pour gérer ces problèmes de déploiement.

3

Vous pouvez déballer les pierres précieuses à votre application Rails, qui fera en sorte qu'ils sont déployés en même temps que votre application:

rake gems:unpack:dependencies 

Maintenant, vous n'avez plus besoin d'installer les pierres précieuses sur le serveur que vous le déploiement. Cela prend déjà en charge la plupart des problèmes de déploiement. La plupart des autres sont résolus par Bundler, qui sera inclus avec Rails 3.

Si vous le pouvez, utilisez des gems plutôt que des plugins. Les gemmes sont généralement plus faciles à gérer, car leurs versions sont supérieures aux plugins. Pour les extensions publiques Rails, je ne vois aucune raison d'utiliser des plugins au lieu de gemmes, mais certains auteurs n'offrent que l'un des deux. Dans ce cas, vous n'avez pas le choix.

1

Pour moi, les plugins sont préférés. J'ai couru dans de nombreuses situations où je vais avoir une aura pas de version qui leur sont assignées environment.rb et des pierres précieuses mal configurés. Ensuite, l'administrateur du serveur fait un:

sudo gem update 

Et maintenant mes tests rspec ne fonctionnera pas parce que la mise à jour installée-unité de test 1.2.2 et mes besoins spécifiques configuration 1.0.1 (ou quelque chose).

Questions connexes