web-dev-qa-db-fra.com

Télécharger toutes les dépendances de gemmes

Je veux installer la boussole en téléchargeant tout fichier requis et en les amenant sur une autre machine sans connexion Internet. J'ai téléchargé le paquet source pour la boussole et lorsque je lance gem sur celui-ci sur la machine non connectée, il se plaint de dépendances manquantes. Toute solution?

28
Sergio

C'est exactement le problème que j'ai eu.
Après avoir cherché pendant un certain temps, j'ai trouvé une solution qui fonctionne avec Bundler https://bundler.io/

Obtenir Gem avec des dépendances:

  • Créez un nouveau dossier contenant un fichier nommé Gemfile.
  • Écrivez une source et la gemme pour laquelle vous souhaitez avoir les dépendances dans le fichier
  • Bsp:

    source " http://rubygems.org "
    gemme 'Rails', '3.2.1'

  • Ouvrez une ligne de commande dans ce dossier et exécutez: bundle install
  • Cela devrait télécharger et installer tous les Dependencys
  • Exécutez la liste de bundles de commandes si vous voulez la voir
  • Exécutez le paquet de commandes
  • Cela devrait créer le fournisseur/cache de la structure de répertoire
  • Dans le répertoire de cache se trouvent maintenant toutes les dépendances dont vous avez besoin pour votre gemme

Installez Gem on Machine sans connexion Internet:

  • Copiez le dossier de cache sur la machine
  • Ouvrez une ligne de commande dans le dossier de cache et exécutez l'installation de gem --local Gemname.gem
  • Bsp:

    installation de gem --local Rails-3.2.1.gem

41
jadephantom

J'ai fait

export GEM_HOME=.
export GEM_PATH=.
gem install --no-ri --no-rdoc --install-dir . <gem>
4
JoshMahowald

Hm. C'est un peu difficile. gem dependency vous montrera les dépendances pour une gemme, mais elle ne descendra pas tout le long de l'arbre.

➔ gem dependency compass
Gem compass-0.10.5
  haml (>= 3.0.4, runtime)

Gem compass-0.10.6
  haml (>= 3.0.4, runtime)

➔ gem dependency haml   
Gem haml-3.0.21
  maruku (>= 0.5.9, development)
  yard (>= 0.5.3, development)

Gem haml-3.0.22
  maruku (>= 0.5.9, development)
  yard (>= 0.5.3, development)

Gem haml-3.0.23
  maruku (>= 0.5.9, development)
  yard (>= 0.5.3, development)

Gem haml-3.0.24
  maruku (>= 0.5.9, development)
  yard (>= 0.5.3, development)

"développement" signifie qu'il n'est nécessaire que si vous développez la gemme elle-même. "runtime" signifie que vous en avez besoin pour l'utiliser.

dans ce cas, la seule dépendance est haml. si c'était un bijou plus compliqué, je ne connais pas un bon moyen de générer tout l'arbre.

3
John Bachir