답변:
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" }
bundle install
명령을 실행하면 RubyGems가 git repo를 가져오고 설치한다고 말합니다.하지만 내가 할 gem list gemname
때 로컬에 설치된 gem에 표시되지 않습니다.
bundle install
는 글로벌 한 것처럼 설치하거나 모든 rubygems에 설치할 것으로 예상 하기 때문 입니다. 그러나 프로젝트별로 또는 때로는 사용자별로 수행합니다. github.com/bundler/bundler/issues/3070#issuecomment-46361014
github:
식별자 transmits data without encryption
가 내가 피하고 싶은 경고를 제공합니다 . 지정할 분기도 있으므로 git:
식별자로 변환하는 https
것만으로는 충분하지 않을 수 있습니다.
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.
- 귀하가 제공
Git 저장소를 복제합니다.
$ git clone git://github.com/odorcicd/authlogic.git
새 디렉토리로 변경하십시오.
cd authlogic
체크 아웃 지점
$ git checkout -b rails3 remotes/origin/rails3
보석을 만드십시오.
$ rake build gem
gem을 설치하십시오.
$ gem install pkg/gemname-1.23.gem
gem 'rails', :github => 'rails', :branch => '5.0-stable'
-링크 : bundler.io/v1.3/git.html
github: 'rails/rails'
작동하도록 @janic_의 대답을 수정해야합니다. 저와 같은 다른 루비 멍청이에게 도움이되기를 바랍니다.
Git 저장소를 복제합니다.
$ git clone git://github.com/odorcicd/authlogic.git
새 디렉토리로 변경하십시오.
$ cd authlogic
체크 아웃 지점
$ git checkout -b rails3 remotes/origin/rails3
번들 설치
$ bundle install
보석을 만드십시오.
$ rake build
gem을 설치하십시오.
$ gem install pkg/gemname-1.23.gem
Bundler 사용자라고 가정하면
$ bundle install
Gemfile에 나열된 gem을 설치합니다. (번 들러 사용자가 아니라면 왜 Gemfile이 있습니까?