Pour autant que je sais à la fois rails:freeze:gems
et râteau gems:unpack
placent les gemmes à /vendor
. rails:freeze:gems
les place à /vendor/rails
, gems:unpack
placez-les à /vendor/gems
. Le point pour moi semble être le même, cependant. Dans les deux cas, le but est de fixer les gemmes et leurs versions telles qu'elles étaient pendant le développement. Y a-t-il une autre différence? Il me semble une duplication maintenant ..Quelle est la différence entre les rails de râteau: geler: gemmes et gemmes de râteau: déballer?
Répondre
D'après ce que je comprends, gem: unpack va décompresser toute gemme tierce dont votre application a besoin en fournisseur/gemmes.
rails: geler: les gemmes ne gèlent que les gemmes ayant trait aux rails eux-mêmes, ce qui gèle votre application pour une version spécifique des rails. Ainsi le répertoire différent/vendor/rails.
Pour commenter un peu plus:
Il y a cette ligne dans config/environment.rb
# Specifies gem version of Rails to use when vendor/rails is not present RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION
Donc, par défaut, rails vérifieront si le vendeur/rails répertoire existe, et utiliser les versions de ces gemmes si c'est le cas. Si ce n'est pas le cas, vous devez définir la version des rails qu'il utilisera, et les rails tenteront d'extraire les gemmes de votre système local.
Ainsi, la seule différence entre les deux commandes que je vois est que rails:freeze:gems
ne jette que les fichiers rails dans le fournisseur/rails, ce qui est exactement où les rails veut qu'ils soient. La raison pour laquelle vous souhaitez utiliser gem:unpack
est de vider les gemmes tierces dont dépend votre application. Ainsi, peu importe où votre application est exécutée, ces gemmes n'auront pas besoin d'être installées localement.
Vous pouvez penser à rails:freeze:gems
comme un raccourci qui fait simplement gem:unpack
de seulement les gemmes de rails dans les rails de répertoire attend (/ vendeur/rails), de sorte que vous ne devez pas le faire manuellement. Mais oui, dans les coulisses je m'attends rails:freeze:gems
utilise probablement gem:unpack
- 1. Ruby on Rails - râteau install/déballer
- 2. gemmes Déballer [Rails 2.3.5]
- 3. manquant gem RedCloth mais `gemmes râteau: install` ne fait rien
- 4. gestion de gemmes et de gemmes imbriquées
- 5. Comment congeler le râteau?
- 6. Quelle est la différence entre les gemmes de sélénium et de sélénium?
- 7. Comment geler Facebooker gem?
- 8. Rails « râteau test » plantage
- 9. Problème incluant les gemmes dans Rails 2.3?
- 10. gemmes installées activées avant les gemmes congelées?
- 11. Ruby on Rails erreur de râteau
- 12. Comment faire pour geler des gemmes dans une application Ruby?
- 13. Obtenir la liste de toutes les gemmes
- 14. Des gemmes Ruby essentielles?
- 15. Problème avec les travaux de râteau: travail
- 16. Les rails ne trouvent pas mes gemmes
- 17. Test des gemmes ruby sous les rails
- 18. Rails Unité d'essai Problème avec râteau
- 19. Comment déballez-vous les gemmes en utilisant jruby sur les rails 2.3?
- 20. tâches râteau manquant?
- 21. tâches de râteau de sauvetage
- 22. Création de rails 3 gemmes: Installation de gemmes réussie, mais sans fonctionnalité
- 23. Est-ce que Rails charge toutes les gemmes installées?
- 24. ruby 1.9.2 installation et gemmes
- 25. Rails3 mysql2 erreur de râteau
- 26. Rails: impact de beaucoup de gemmes sur la performance?
- 27. Exécution d'un travail râteau
- 28. râteau avec des paramètres
- 29. dépendances Directory avec râteau
- 30. Problème avec la tâche de râteau
Merci! Cela clarifie beaucoup de choses. J'ai joué avec les tâches. Cependant il me semble être bizarre de manipuler les gemmes de rails et les autres gemmes différemment. D'une certaine manière, les gemmes de tiers et de rails ne sont que des gemmes. Je pense que bundler gère cela de la même manière sans aucune distinction. – fifigyuri