6
votes

Ruby Gems Repository

J'essaie de définir un référentiel GEM sur l'un de nos serveurs locaux. Voici les étapes que je suis exécutées, que j'ai suivi de plusieurs guides.

1) Je crée le dossier basé em> / var / www / html / gems em> de
2) sudo cp -r /usr/lib/ruby/gems/1.8/gems/somegem / var / www / html / gemmes
3) sudo gem generate_index -d / var / www / html / gems p>

Cependant, lorsque j'exécute cela, je reçois la sortie suivante: P>

Loading 0 gems from /var/www/html/gems

Loaded all gems
Generating quick index gemspecs for 0 gems

Complete
Generating specs index
Generating latest specs index
Generating quick index
Generating latest index
Generating Marshal master index
Generating YAML master index for 0 gems (this may take a while)

Complete
Compressing indicies


0 commentaires

4 Réponses :


4
votes

Vous devez générer l'index non sur le sous-répertoire GEMS. Mais sur la base de l'une.

sudo gem generate_index -d /var/www/html


3 commentaires

Ok, dans cette situation, où voudrais-je copier les gemmes à alors ...?


Vous auriez les gemmes dans le sous-répertoire "gemmes".


Désolé, j'ai mal interprété votre réponse originale comme "ça va faire automatiquement ..." Quoi qu'il en soit, ça ne marche toujours pas ... peut-être notre configuration malchanceuse?



0
votes

La même chose est arrivée à moi, alors j'ai commencé à parcourir le code de Gem :: Indexer et a écrit quelques lignes de code pour effectuer l'indexation de IRB lancée à partir de ma destination hôte (celle ci-dessus ./gems ):

require 'rubygems'
require 'rubygems/indexer'

i=Gem::Indexer.new '.'
i.update_index


0 commentaires

5
votes

Je suis tombé sur mon ancien poste et j'ai réalisé que j'avais réellement résolu cela il y a quelque temps, alors j'ai pensé que je postirais ma réponse.

Le problème était mon étape 2: Copier les gemmes Action. < p> dans l'op, j'avais essayé

2) sudo cp -r /usr/lib/ruby/gems/1.8/gems/somegem / var / www / html / gems

Ce que j'ai trouvé, c'est que je devais copier les fichiers réels .gem , qui vivaient à ... / gemmes / 1,8 / gemmes / cache . Donc, ce que je devais vraiment faire pour l'étape 2 est le suivant: xxx

Après avoir copié correctement les gemmes, l'indexation fonctionnait comme prévu et nous pourrions ensuite utiliser notre serveur en l'ajoutant comme une source de gemme sur diverses machines. L'installation de nos gemmes personnalisées a ensuite fonctionné sans heurts.


0 commentaires

5
votes

Nous utilisons en interne Artifactory pour gérer nos rubygems internes - Certains d'entre eux sont exclusifs et certains sont publiés publiquement. Nous pouvons appliquer la sécurité entre nos différents groupes (DEV, QA - PRERRELASE, LIBERATION, ...)

Aussi, rubygems.org est proxé et mis en cache localement, ce qui nous aide à mieux performer et à éviter les temps d'arrêt distants.

Finalement, les développeurs utilisent une URL source unique, agrégant de manière transparente des référentiels à distance et locaux.


0 commentaires