Github Branch에서 Gem을 설치 하시겠습니까?


93

내 gemfile에는 다음이 있습니다.

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

테스트 할 수 있도록 gem으로 어떻게 설치합니까?

답변:


200

gem을 로컬에서 빌드 할 필요가 없습니다. gemfile에서 ref, branch 또는 태그를 사용하여 github 소스를 지정할 수 있습니다.

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"

그런 다음 실행 bundle install하거나 약식은 bundle.

여기에서 자세히 알아보세요 : http://bundler.io/man/gemfile.5.html#GIT

업데이트 : 거기 github의 소스 식별자 .

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

그러나 그들은 그것을 사용하는 것에 대해 경고합니다. 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.

Bundler 2.0 이후에는 Gemfile 상단 근처에있는이 문으로 위의 문제를 해결할 수 있습니다.

git_source(:github) { |repo| "https://github.com/#{repo}.git" }

2017 년 업데이트, GitHub 소스 식별자가 작동하지 않지만 : git => ref가 잘 작동합니다
Amias

아마도 Windows 헛소리이지만 Windows 10의 RubyInstaller 2.3을 사용하면 릴리스되지 않은 gem에 대해 이와 동일한 설정이 있으며 bundle install명령을 실행하면 RubyGems가 git repo를 가져오고 설치한다고 말합니다.하지만 내가 할 gem list gemname때 로컬에 설치된 gem에 표시되지 않습니다.
FilBot3 2017-08-26

nvm, 그 이유 bundle install는 글로벌 한 것처럼 설치하거나 모든 rubygems에 설치할 것으로 예상 하기 때문 입니다. 그러나 프로젝트별로 또는 때로는 사용자별로 수행합니다. github.com/bundler/bundler/issues/3070#issuecomment-46361014
FilBot3

적어도 우리 환경에서는 github:식별자 transmits data without encryption가 내가 피하고 싶은 경고를 제공합니다 . 지정할 분기도 있으므로 git:식별자로 변환하는 https것만으로는 충분하지 않을 수 있습니다.
Pysis

github 소스 식별자를 사용한 설치 관련 : 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.- 귀하가 제공
Danny Bullis

64
  1. Git 저장소를 복제합니다.

    $ git clone git://github.com/odorcicd/authlogic.git
    
  2. 새 디렉토리로 변경하십시오.

    cd authlogic
    
  3. 체크 아웃 지점

    $ git checkout -b rails3 remotes/origin/rails3
    
  4. 보석을 만드십시오.

    $ rake build gem
    
  5. gem을 설치하십시오.

    $ gem install pkg/gemname-1.23.gem
    

14
나는 gem을 만들기 위해 4.를 "rake build"로 바꿔야했습니다.
raphael_turtle

6
대신 4 대신 gem build name-of-file.gemspec을 사용하여 gem rake build o rake gem이 저에게 작동하지 않았습니다
marimaf

5
4와 5 대신 "rake install"을 수행 할 수 있습니다.
drinor

2
또는 github에서 바로 : gem 'rails', :github => 'rails', :branch => '5.0-stable'-링크 : bundler.io/v1.3/git.html
Danny

것 @Dannygithub: 'rails/rails'
카메론 마틴

5

작동하도록 @janic_의 대답을 수정해야합니다. 저와 같은 다른 루비 멍청이에게 도움이되기를 바랍니다.

  1. Git 저장소를 복제합니다.

    $ git clone git://github.com/odorcicd/authlogic.git
    
  2. 새 디렉토리로 변경하십시오.

    $ cd authlogic
    
  3. 체크 아웃 지점

    $ git checkout -b rails3 remotes/origin/rails3
    
  4. 번들 설치

    $ bundle install
    
  5. 보석을 만드십시오.

    $ rake build
    
  6. gem을 설치하십시오.

    $ gem install pkg/gemname-1.23.gem
    

-1

Bundler 사용자라고 가정하면

$ bundle install

Gemfile에 나열된 gem을 설치합니다. (번 들러 사용자가 아니라면 왜 Gemfile이 있습니까?


이 답변에 대해 반대표를 던질 생각이라면 먼저 반대표를 받아야한다고 생각 하는 이유 를 설명해주세요 . 건설적인 피드백이없는 다운 투표는 이해를 돕는 데 도움이되지 않습니다. 감사.
sampablokuper
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.