2010-05-12 32 views
73

Trong gemfile của tôi, tôi có điều này:Cài đặt Gem từ Github Branch?

gem "authlogic", :git => "git://github.com/odorcicd/authlogic.git", :branch => "rails3" 

Làm thế nào để cài đặt mà như một viên ngọc để tôi có thể kiểm tra nó?

+4

Bạn có thể muốn chấp nhận câu trả lời mà không liên quan đến việc xây dựng các viên ngọc. Nhưng tôi thiên vị :) – Archonic

+1

Xin chào Lance, tôi nghĩ bạn nên thay đổi câu trả lời được chấp nhận thành @Archonics vì nó là khá rõ ràng rằng đó là một ưu tiên. –

+1

@Freddy done! cảm ơn cho chỉ ra :) –

Trả lời

171

Bạn không cần phải xây dựng đá quý cục bộ trong gemfile của bạn, bạn có thể chỉ định một nguồn github với một ref, branch hoặc tag.

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" 

Sau đó, bạn chạy bundle install hoặc các hình thức ngắn chỉ bundle

đọc thêm về nó ở đây:. http://bundler.io/man/gemfile.5.html#GIT

cập nhật:a github source identifier.

gem 'country_select', github: 'stefanpenner/country_select' 

Tuy nhiên, họ cảnh báo việc sử dụng nó: NOTE: This shorthand should be avoided until Bundler 2.0, since it currently expands to an insecure git:// URL. This allows a man-in-the-middle attacker to compromise your system.

+7

Cái này sạch hơn! –

+0

cập nhật từ năm 2017, tôi không thể nhận được mã định danh nguồn GitHub để hoạt động nhưng: git => ref hoạt động tốt – Amias

+0

Có thể là Windows shenanigans của nó, nhưng với RubyInstaller 2.3 trên Windows 10, tôi có cùng thiết lập này cho một viên ngọc là không được phát hành và tôi đưa ra lệnh 'bundle install', RubyGems nói rằng nó lấy git repo, và nó đã được cài đặt, nhưng khi tôi làm' gem list gemname' nó không hiển thị trong các gem được cài đặt cục bộ của tôi. – Pred

59
  1. Sao chép kho Git.

    $ git clone git://github.com/odorcicd/authlogic.git 
    
  2. Thay đổi thư mục mới.

    cd authlogic 
    
  3. chi nhánh Thanh toán

    $ git checkout -b rails3 remotes/origin/rails3 
    
  4. Xây dựng đá quý.

    $ rake build gem 
    
  5. Cài đặt đá quý.

    $ gem install pkg/gemname-1.23.gem 
    
+13

Tôi cần phải thay đổi 4. để "xây dựng cào" để xây dựng đá quý. –

+6

Thay vì 4. Tôi phải sử dụng gem build name-of-file.gemspec để xây dựng gem rake build o rake gem không làm việc cho tôi – marimaf

+2

Thay vì 4 và 5 bạn có thể thực hiện "cào cài đặt" – drinor

2

Giả sử bạn là một người dùng Bundler,

$ bundle install 

sẽ cài đặt những viên đá quý được liệt kê trong Gemfile của bạn. (Và nếu bạn không phải là người dùng Bundler, tại sao bạn có một Gemfile?

+0

Nếu bạn đang nghĩ đến việc bỏ phiếu cho câu trả lời này, trước tiên hãy giải thích * tại sao * bạn nghĩ rằng nó nên được bỏ phiếu. Bỏ phiếu không có phản hồi mang tính xây dựng không hữu ích để tạo điều kiện cho sự hiểu biết. Cảm ơn. – sampablokuper

2

tôi phải thay đổi câu trả lời @ janic_ để làm cho nó hoạt động. Hy vọng nó sẽ giúp các noobs ruby ​​khác giống như tôi.

  1. Sao chép kho Git.

    $ git clone git://github.com/odorcicd/authlogic.git 
    
  2. Thay đổi thư mục mới.

    $ cd authlogic 
    
  3. chi nhánh Thanh toán

    $ git checkout -b rails3 remotes/origin/rails3 
    
  4. Cài đặt bó

    $ bundle install 
    
  5. Xây dựng đá quý.

    $ rake build 
    
  6. Cài đặt đá quý.

    $ gem install pkg/gemname-1.23.gem 
    
Các vấn đề liên quan