如何从github获取gem的特定"提交"?

Zab*_*bba 149 gem ruby-on-rails-3

我正在使用rails_admin,因为它处于(非常)活跃的开发中,所以偶尔会出现错误.

据我所知,对于github中的gem,没有gem的版本,所以我不能:version在Gemfile中使用key进行gem声明.

有没有办法可以将一个特定的提交(我知道对我来说工作正常)"绑定"到Gemfile?

我目前在我的Gemfile中:

gem 'rails_admin', 
  :git => 'git://github.com/sferik/rails_admin.git'
Run Code Online (Sandbox Code Playgroud)

我希望能够做这样的事情(例如"commit_id"):

gem 'rails_admin', 
  :git => 'git://github.com/sferik/rails_admin.git',
  :commit_id => "4e7d53e3c5c4c3c5c43c3"
Run Code Online (Sandbox Code Playgroud)

这可能与github有关吗?

dex*_*ter 264

任何这些应该工作:

gem 'rails', :git => 'git://github.com/rails/rails.git', :ref => '4aded'

gem 'rails', :git => 'git://github.com/rails/rails.git', :branch => '2-3-stable'

gem 'rails', :git => 'git://github.com/rails/rails.git', :tag => 'v2.3.5'
Run Code Online (Sandbox Code Playgroud)

来源:如何从git存储库安装gem

  • 仅供参考:`:ref`适用于提交,分支和标签. (50认同)

Eri*_* L. 61

更短的版本:

gem 'rails', :github => 'rails/rails', :ref => '4aded'
Run Code Online (Sandbox Code Playgroud)

或者,在Ruby 1.9+中

gem 'rails', github: 'rails/rails', ref: '4aded'
Run Code Online (Sandbox Code Playgroud)