找出已安装gem的来源

时间:2012-06-11 04:16:25

标签: ruby-on-rails ruby git gem

这可能很简单,但我很难过......

所以我有一个宝石,需要在共享开发机器上安装一个修复程序。 如何判断它来自哪里,以便我可以分叉?

为了消除一些明显的事情,它肯定已安装:

$ be gem list spp_manifests

*** LOCAL GEMS ***

spp_manifests (0.0.4)

检查gemspec显示没有任何用处(除了作者的名字,但他已离开):

$ gem specification spp_manifests

name: spp_manifests
homepage: ""
rubyforge_project: 

但它在Github中并不公开,它不在我们公司的Github回购中,它不在Rubygems中,谷歌搜索该名称会产生许多链接到新加坡人民党选举宣言但没有任何用处。

2 个答案:

答案 0 :(得分:2)

如此简短的回答是,一旦完成,代码就会完全从它曾经存在的repo中分离出来,并且无法找到原始repo的地址。

但是,有可能:

a)解包gem的代码,这样你就可以为它创建一个新的回购(归功于Flambino)

gem unpack spp_manifests

b)找出宝石的下载地点(信贷给Stefan)

more Gemfile.lock

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

答案 1 :(得分:0)

我现在无法测试这个,因为我使用代理但你可以在同一台机器的控制台窗口中执行gem update spp_manifest,你发出一个“netstat -b 1”(或nix副本)来列出你所有的联系。如果找到更新的版本,您的机器应建立与源的连接并进行安装。 在连接列表中,您应该看到源。

您还可以使用“gem environment”远程源或远程查找“gem query -r -n spp_manifests”