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 Cependant, lorsque j'exécute cela, je reçois la sortie suivante: P>
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> 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
4 Réponses :
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
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?
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
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> < p> dans l'op, j'avais essayé p>
2) sudo cp -r /usr/lib/ruby/gems/1.8/gems/somegem / var / www / html / gems p> BlockQuote>
Ce que j'ai trouvé, c'est que je devais copier les fichiers réels .gem em>, qui vivaient à ... / gemmes / 1,8 / gemmes / cache strong> . Donc, ce que je devais vraiment faire pour l'étape 2 est le suivant: p>
xxx pré> 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. P> p>
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, ...) P>
Aussi, rubygems.org est proxé et mis en cache localement, ce qui nous aide à mieux performer et à éviter les temps d'arrêt distants. p>
Finalement, les développeurs utilisent une URL source unique, agrégant de manière transparente des référentiels à distance et locaux. P>