2011-07-23 7 views
13

J'ai modifié un Gem que j'utilise dans mon application Rails, et j'ai besoin de l'utiliser sur Heroku. Existe-t-il un moyen de télécharger le Gem modifié vers Heroku dans mon application et de spécifier un chemin personnalisé dans mon Gemfile?Ruby Gem personnalisé dans Gemfile sur Heroku

Répondre

22

Vous pouvez placer des gemmes personnalisés dans le répertoire vendor puis les spécifier dans votre Gemfile:

gem 'gemname', '1.0', :path => 'vendor/gemname'

+1

est de changer pour Rails 4 voir vos avertissements ... obsolescence deprecation AVERTISSEMENT : Vous avez des plugins Rails 2.3 dans le fournisseur/plugins! La prise en charge de ces plugins sera supprimée dans Rails 4.0. Déplacez-les et regroupez-les dans votre Gemfile, ou pliez-les dans votre application en tant que lib/myplugin/* et config/initializers/myplugin.rb. Voir les notes de publication pour plus d'informations: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (appelé de à /app/config/environment.rb:5) – Spasm

+0

oui, en fait, vous pouvez mettre gemme où vous voulez et spécifier ce chemin dans Gemfile. – NARKOZ

8
  1. la fourche sur github
  2. point votre application à votre bijou modifié à l'aide: option git lors de la spécification de la dépendance gem dans Gemfile
+0

Les gemmes de github incluent l'histoire complète. Au fil du temps, il faudra beaucoup d'espace (pensez 30mb au lieu de 3mb). C'est bien pour quelques gemmes, mais au fil du temps va s'additionner. – Schneems

1

Vous pouvez configurer un serveur de gem personnalisé comme Geminabox . Malheureusement, il est conçu pour un LAN et n'a pas d'authentification intégrée. Vous pouvez le protéger via le middleware Rack :: Auth ou utiliser Rack :: Mount pour l'attacher à un chemin secret. Si c'est trop fastidieux, vous pouvez utiliser un service d'hébergement de gem privé comme Gemfury (avertissement: je travaille sur ce service). Une fois que vous avez l'un de ces mis en place, il suffit d'ajouter ce qui suit à votre Gemfile:

source 'https://custom-gem-server.com/secret-token/' 
9

dans Gemfile: gem 'blah', :git => 'https://github.com/XXX/YYY.git'

Questions connexes