ติดตั้งอัญมณีจากสาขา Github?


คำตอบ:


203

คุณไม่จำเป็นต้องสร้างอัญมณีในพื้นที่ ใน gemfile ของคุณคุณสามารถระบุแหล่งที่มา github ด้วย ref, branch หรือ 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"

จากนั้นคุณเรียกใช้หรือแบบสั้นเป็นเพียงbundle installbundle

อ่านเพิ่มเติมได้ที่นี่: 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 แต่มี RubyInstaller 2.3 บน Windows 10 ฉันมีนี้ติดตั้งเหมือนกันสำหรับอัญมณีที่ฉันมีที่ unreleased และผมออกbundle installคำสั่ง RubyGems กล่าวว่าการเรียกของ repo คอมไพล์และติดตั้งของมัน แต่เมื่อฉันทำgem list gemnameมัน ไม่ปรากฏในอัญมณีที่ติดตั้งในเครื่องของฉัน
— FilBot3

nvm เป็นเพราะฉันคาดหวังว่าbundle installจะติดตั้งเหมือนกับว่าเป็น global หรือสำหรับ Ruby ทั้งหมด อย่างไรก็ตามมันทำต่อโครงการหรือบางครั้งต่อผู้ใช้ 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 install pkg/gemname-1.23.gem
    

14
ฉันต้องการเปลี่ยน 4. เป็น "คราดสร้าง" เพื่อสร้างอัญมณี
— 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'- link: bundler.io/v1.3/git.html
— Danny

1
สำหรับฉันgem build <gem-name>.gemspecทำงาน ฉันไม่ได้rakeระบุไว้ใน Gemfile ดังนั้นrake build gemโยนคราดไม่ได้เป็นส่วนหนึ่งของมัด เพิ่มลงใน gemfile
— RajaRaviVarma

6

ฉันต้องแก้ไขคำตอบของ @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 install pkg/gemname-1.23.gem
    

-1

สมมติว่าคุณเป็นผู้ใช้ Bundler

$ bundle install

จะติดตั้งอัญมณีที่ระบุไว้ใน Gemfile ของคุณ (และถ้าคุณไม่ใช่ผู้ใช้ Bundler ทำไมคุณถึงมี Gemfile?


หากคุณกำลังคิดที่จะลงคะแนนคำตอบนี้โปรดอธิบายก่อนว่าเหตุใดคุณจึงคิดว่าคำตอบนี้ควรโหวตไม่ลง การโหวตลงโดยไม่มีข้อเสนอแนะเชิงสร้างสรรค์ไม่เป็นประโยชน์ในการอำนวยความสะดวกในการทำความเข้าใจ ขอบคุณ.
— sampablokuper
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.