2012-06-11 1 views
2

Ceci est probablement simple, mais je suis déconcerté ...Découvrez source de gemme installée

J'ai un petit bijou qui a besoin d'une solution déjà installé sur une machine de développement partagé. Comment puis-je savoir d'où il vient, afin que je puisse le fourchonner?

Juste pour éliminer certaines choses évidentes, il est certainement installé:

$ be gem list spp_manifests 

*** LOCAL GEMS *** 

spp_manifests (0.0.4) 

Vérification de l'gemspec ne révèle rien d'utilisation (à l'exception du nom de l'auteur, mais il est loin):

$ gem specification spp_manifests 

name: spp_manifests 
homepage: "" 
rubyforge_project: 

Mais ce n'est pas public dans Github, ce n'est pas dans notre société Github repo, ce n'est pas dans Rubygems et googler pour le nom produit beaucoup de liens vers les manifestes électoraux du Parti populaire de Singapour mais rien d'utile.

+2

Vous pouvez exécuter 'gem unpack spp_manifests' pour vider les fichiers de la gemme dans le répertoire courant. Vous pouvez alors trouver des indices dans les fichiers ou simplement commencer à corriger les bogues. – Flambino

+2

Vous devriez trouver l'URL distante dans votre 'Gemfile.lock' – Stefan

Répondre

2

Une courte réponse est, une fois Gemmed up, le code est complètement séparé de le repo il a vécu une fois et il n'y a aucun moyen de trouver l'adresse de ce repo original.

Cependant, il est possible de:

a) déballer le code de la pierre, de sorte que vous pouvez créer un nouveau repo pour elle (crédit Flambino)

gem unpack spp_manifests 

b) savoir où la pierre précieuse a été téléchargé de (crédit à Stefan)

more Gemfile.lock 

GEM 
    remote: http://gems.megacorp.com/ 
    remote: http://rubygems.org/ 
0

Je ne peux pas tester cela maintenant puisque j'utilise un proxy, mais vous pouvez faire une mise à jour gem spp_manifest alors que dans une fenêtre de console sur la même machine vous émettez un "netstat -b 1" (ou la contrepartie nix) liste toutes tes connexions. Votre machine doit établir une connexion à la source et effectuer une installation si une version plus récente est trouvée. Dans la liste des connexions, vous devriez voir la source.

Vous pouvez également chek avec « l'environnement de pierres précieuses » les sources distantes ou une recherche à distance avec des « requête petit bijou -r -n spp_manifests »

+0

Votre première méthode pourrait me dire de quel serveur la gemme a été téléchargée, bien que vérifier Gemfile.lock être plus facile. 2ème et 3ème ne fournissent rien d'utile. – jpatokal

Questions connexes