Question

Mon fichier bundle ne semble pas extraire correctement une gemme d'un référentiel privé.

Dans mon Gemfile, j'ai :

group :internal do
  gem 'private', git: 'ssh://git@internalserver.org:<port>/gems/private.git'
end

Cela s'exécute et la journalisation détaillée produit :

Updating ssh://git@internalserver.org:<port>/gems/private.git
Cloning into '/Users/<username>/.rvm/gems/ruby-2.0.0-p247/bundler/gems/private-ddec73caf50f'...
done.

Quand je navigue vers /Users/<username>/.rvm/gems/ruby-2.0.0-p247/bundler/gems/, je vois le référentiel correct cloné correctement, avec un gemspec avec le nom correct.

Lorsque le bundler a fini de fonctionner, gem list ne montre pas le private gemme.Cela produit une erreur lorsque j'essaie de l'exiger.

J'ai essayé de supprimer le fichier Gemfile.lock dans le référentiel et de le réexécuter, et cela n'a pas fonctionné.Toutes les gemmes publiques du Gemfile s'installent correctement.

Numéros de version/logiciel pertinents :

  • Regroupeur version 1.3.5
  • RVM 1.23.14
  • rubis 2.0.0p247
  • Cachette Atlassan
Était-ce utile?

La solution

Les gemmes Git sont une extension spécifique au Bundler de Rubygems.Le gem la commande ne les connaît pas, ils ne sont donc pas répertoriés par gem list.Tu peux courir bundle show pour voir la liste des gemmes reconnues par Bundler, qui inclura les gemmes git.

Pour avoir besoin de la gemme, vous devez vous assurer que le chemin de chargement est correctement configuré par Bundler.Il existe trois façons de procéder :

  1. Appel require 'bundler/setup' dans votre application.Ceci est typique des applications Rails. Plus sur Bundler.setup
  2. Appel bundle exec <command> pour exécuter la commande.Ceci est plus courant lors de l'exécution de commandes à partir d'une gemme, telle que rake ou rspec. Plus sur bundle exec
  3. Créer des binstubs pour les commandes que vous exécutez fréquemment.

Voir http://bundler.io/v1.5/git.html pour plus d'informations sur les gemmes git.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top