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 ?
Réponses
Trop de publicités?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.)
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.
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 »)