我想从最新的GitHub源安装gem。

我怎么做呢?


当前回答

尝试specific_install gem,它允许您从其github存储库(如'edge')或从任意URL安装一个gem。非常有用的分叉宝石和黑客对他们在多台机器等。

gem install specific_install
gem specific_install -l <url to a github gem>

e.g.

gem specific_install https://github.com/githubsvnclone/rdoc.git 

其他回答

过时(见评论)

如果项目来自github,并且包含在http://gems.github.com/list.html的列表中,那么你可以将github repo添加到gems源代码中来安装它:

$ gem sources -a http://gems.github.com
$ sudo gem install username-projectname

如果你正在使用捆绑器,你需要在你的Gemfile中添加这样的东西:

gem 'redcarpet', :git => 'git://github.com/tanoku/redcarpet.git'

如果存在.gemspec文件,它应该能够在运行bundle install时获取并安装gem。

乌利希期刊指南。正如评论中所指出的,为了让Bundler正常工作,你还需要在config.ru中添加以下内容:

require "bundler" 
Bundler.setup(:default)

尝试specific_install gem,它允许您从其github存储库(如'edge')或从任意URL安装一个gem。非常有用的分叉宝石和黑客对他们在多台机器等。

gem install specific_install
gem specific_install -l <url to a github gem>

e.g.

gem specific_install https://github.com/githubsvnclone/rdoc.git 

在您的Gemfile中,添加以下内容:

gem 'example', :git => 'git://github.com/example.git'

你也可以添加ref, branch和tag选项,

例如,如果你想从一个特定的分支下载:

gem 'example', :git => "git://github.com/example.git", :branch => "my-branch"

然后运行:

bundle install

如果你按照gryzzly的建议使用bundler安装,并且gem创建了一个二进制文件,那么确保你使用bundle exec mygembinary运行它,因为gem存储在一个bundler目录中,而这个目录在正常的gem路径中是不可见的。