【问题标题】:How to get a specific "commit" of a gem from github?如何从 github 获取 gem 的特定“提交”?
【发布时间】:2011-09-01 11:22:12
【问题描述】:

我正在使用rails_admin,由于它处于(非常)活跃的开发阶段,因此时不时会出现错误。

据我所知,对于 github 中的 gem,没有 gem 的版本,所以我不能在 Gemfile 中使用 :version 键来声明 gem。

有没有办法可以将特定的提交(我知道这对我工作正常)“绑定”到 Gemfile?

我目前在我的 Gemfile 中有:

gem 'rails_admin', 
  :git => 'git://github.com/sferik/rails_admin.git'

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

gem 'rails_admin', 
  :git => 'git://github.com/sferik/rails_admin.git',
  :commit_id => "4e7d53e3c5c4c3c5c43c3"

这可能与github有关吗?

【问题讨论】:

    标签: ruby-on-rails-3 gem


    【解决方案1】:

    其中任何一个都应该有效:

    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'
    

    来源:How to install gems from git repositories

    【讨论】:

    【解决方案2】:

    更短的版本:

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

    或者,在 Ruby 1.9+ 中

    gem 'rails', github: 'rails/rails', ref: '4aded'
    

    【讨论】:

    • 并将 github 默认源设置为 https:git_source(:github) do |repo_name| repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") "https://github.com/#{repo_name}.git" end
    猜你喜欢
    • 2011-12-11
    • 1970-01-01
    • 2012-11-18
    • 2013-08-10
    • 2023-02-03
    • 1970-01-01
    • 1970-01-01
    • 2021-02-21
    • 1970-01-01
    相关资源
    最近更新 更多