能否直接从Git存储库安装Gem?

12

使用 bundler,您可以在 Gemfile 中执行以下操作:

gem 'my_gem', :git => 'git@github:me/my_gem.git'

使用该命令在仓库中构建 gem 并将其安装。非常好用。是否可能只使用命令行 gem 工具来执行类似操作?像这样:

gem install my_gem --git="git@github:me/my_gem.git"

显然那个命令不起作用,但是有类似它的东西吗?我知道我可以克隆repo,运行gem build my_gem.gemspec,然后运行gem install my_gem-1.2.3.gem。但我想知道是否有一个直接的单行命令,可以将这些中间步骤隐藏在幕后。


似乎 https://github.com/rdp/specific_install 可以做到这一点。 - HappyFace
1个回答

5
因为与典型的Git存储库不同,GitHub构建宝石(gem),如果项目托管在GitHub上并且在源列表中找到了该宝石,则可以像这样将GitHub添加到您的源列表中:
$ gem sources -a http://gems.github.com

然后稍后可以通过单个步骤按需安装 gem,例如:
$ sudo gem install username-projectname

否则,就没有一步解决方案,您需要执行以下操作:
  1. 下载 gem zip/tar 文件
  2. gem build <gemname>.gemspec
  3. sudo gem install <gemname>-x.x.x.gem

我的 gem 不在源列表中。它是一个私有仓库。 - Ben Lee
1
我已经知道后一种解决方案,就像我在帖子中概述的那样。我只是想知道gem命令是否有一行代码解决的方法。也许没有。 - Ben Lee
你可以编写一个接受参数的 shell 函数。但是,我不知道有什么简洁的一行代码。 - Noah Clark
19
http://gems.github.com/显示“我们已停止构建gem,请查看RubyGems.org。”我认为这发生在一两年前。 - Andrew Grimm
也许为您设置一个私有 gem 服务器会有所帮助?http://guides.rubygems.org/run-your-own-gem-server/ - Ninjaxor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接