164 votes

Comment puis-je spécifier les fichiers locaux .gem dans mon Gemfile ?

J’ai un couple de fichiers gem qui j’ai installer via `` . Je peux dire Bundler s’en servir ? Ou ce que je dois spécifier le chemin d’accès source ?

288voto

pje Points 4475

Ce n'est pas strictement une réponse à votre question sur l'installation de .gem des paquets, mais vous pouvez spécifier toutes sortes d'endroits sur une gemme-en-gem base en modifiant votre Gemfile.

La spécification d'un :path attribut installer le gem à partir de ce chemin sur votre machine locale.

gem "foreman", :path => "/Users/pje/my_foreman_fork"

Alternativement, la spécification d'un :git attribut installer le gem distance à partir d'un dépôt git.

gem "foreman", :git => "git://github.com/pje/foreman.git"

# ...or at a specific SHA-1 ref
gem "foreman", :git => "git://github.com/pje/foreman.git", :ref => "bf648a070c"

# ...or branch
gem "foreman", :git => "git://github.com/pje/foreman.git", :branch => "jruby"

# ...or tag
gem "foreman", :git => "git://github.com/pje/foreman.git", :tag => "v0.45.0"

( @JHurrah mentionné dans son commentaire.)

68voto

Martin Thiede Points 351

Semble bundler ne pouvez pas utiliser .gem fichiers de la boîte. Le pointage de l' :chemin d'accès à un répertoire contenant .gem fichiers ne fonctionne pas. Certaines personnes ont suggéré à l'installation d'un bijou locale du serveur (geminabox, à cheval).

Cependant, ce que j'ai trouvé pour être beaucoup plus simple est d'utiliser un petit bijou locale "serveur" de système de fichiers: Il suffit de mettre votre .gem fichiers dans un répertoire local, puis utiliser "gem generate_index" pour en faire un Bijou référentiel

mkdir repo
mkdir repo/gems
cp *.gem repo/gems
cd repo
gem generate_index

Enfin, du point de bundler à cet emplacement en ajoutant la ligne suivante à votre Gemfile

source "file://path/to/repo"

Si vous mettez à jour les pierres dans le référentiel, assurez-vous de régénérer l'index.

48voto

edap Points 113

Je voudrais décompresser votre bijou dans le le dossier vendeur

puis ajoutez le chemin d’accès sur le Gemfile, comme ceci

29voto

JHurrah Points 1492

Par défaut Bundler vérifira votre système et si elle ne peut pas trouver la perle rare, elle utilisera les sources mentionnées dans votre Gemfile.

6voto

Vous pouvez forcer bundler d’utiliser les gemmes que vous déployez à l’aide de « paquet paquet » et « paquet install - local »

Sur votre ordinateur de développement :

(Installe gemmes requises et rend Gemfile.lock)

(Caches les gemmes en vendeur/cache)

Sur le serveur :

(--local signifie « utiliser les pierres précieuses du vendeur/cache »)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X