Ruby 没有捆绑器的无痛私人宝石?

Ruby 没有捆绑器的无痛私人宝石?,ruby,rubygems,github,Ruby,Rubygems,Github,我想在我们公司内部发布一个系统管理实用程序,它依赖于尚未发布的gems(比如,fog的github主机)。我们已经有了一个私有的GitHub组织帐户,并且我们都有ssh密钥 但是:Bundler可以通过简单的 gem "sysadmin", :git => "git://github.com/ourorg/sysadmin.git"` 我找不到办法用赤裸的RubyGems做到这一点。人们会想在自己的机器上安装其他gem,所以我不想强迫每个人都使用Bundler作为他们的主目录 我可以想出

我想在我们公司内部发布一个系统管理实用程序,它依赖于尚未发布的gems(比如,
fog
的github主机)。我们已经有了一个私有的GitHub组织帐户,并且我们都有ssh密钥

但是:Bundler可以通过简单的

gem "sysadmin", :git => "git://github.com/ourorg/sysadmin.git"`
我找不到办法用赤裸的RubyGems做到这一点。人们会想在自己的机器上安装其他gem,所以我不想强迫每个人都使用Bundler作为他们的主目录

我可以想出一些解决方案,但并不理想:

  • 制作一个包含Gemfile的“sysadmin”项目,让每个人都克隆它,并让他们将cd放入该项目目录以运行该实用程序
  • 每次系统发生变化时,让他们手动下载并在系统上构建gem
  • 使用托管回购协议的第三方创业板,依靠隐蔽性的安全性来防止外人发现它。哎呀
  • 设置安全的内部专用服务器以运行
    gem server
    等。我们目前没有一个(所有的东西都在云中),我想避免仅仅为此设置一个
一定有更好的办法。。它是什么?有没有办法在github存储库中设置旧式的gem源代码

我找不到办法用赤裸的RubyGems做到这一点

这是一本书。在文件中使用
:path
选项:

gem "nokogiri", :path => "~/sw/gems/nokogiri"
这不会干扰他们的主目录或他们自己的gems。无论如何,他们不会都想把你的实用程序放在他们的主目录中。让他们将文件放在他们想要的任何目录中,然后告诉他们将其添加到他们的
$PATH
,或者编写一个Rake任务,自动为他们创建符号链接,例如
/usr/bin

使用托管回购协议的第三方gem,并依靠隐蔽性的安全性来防止外部人员发现它。哎呀

我想提出建议,但听起来您对第三方gem托管解决方案不感兴趣。你能告诉我更多关于你的安全问题吗


免责声明:我在Gemfury上工作,那是Bundler,不是rubygems;裸rubygems没有Gemfile,我想要:git,而不是:path,因为本地没有git回购;我不知道像Gemfury这样的网站提供了经过认证的gem回购协议。这可能是最好的解决方案,不过Bundler 1.1中也有一些东西可能会有所帮助..您指的是Bundler 1.1的哪一个功能?Bundler--单机版,它可以将gem冻结在适当的位置;这对我们来说是可行的,而且是免费的,但我认为你的解决方案最接近我所表达的问题,所以我接受!