Saya ingin memasang permata dari sumber GitHub terbaru.
Bagaimana saya melakukan ini?
Jika Anda menggunakan bundler, Anda perlu menambahkan sesuatu seperti ini ke Gemfile Anda:
gem 'redcarpet', :git => 'git://github.com/tanoku/redcarpet.git'
Dan jika ada .gemspec
file, itu harus dapat mengambil dan menginstal permata saat dijalankan bundle install
.
UPD. Seperti ditunjukkan dalam komentar, agar Bundler berfungsi dengan benar, Anda juga perlu menambahkan yang berikut ini ke config.ru
:
require "bundler"
Bundler.setup(:default)
require "bundler" Bundler.setup(:default)
Lihat bundler docs untuk lebih jelasnyagem 'redcarpet', :git => 'git://github.com/tanoku/redcarpet.git', :branch => 'yourbranch'
gem 'redcarpet', github: 'tanoku/redcarpet'
. akash.im/2012/06/05/bundler-new-github-option.htmlgem 'redcarpet', :git => 'git://github.com/tanoku/redcarpet.git', :tag => 'v2.3.5'
<-:tag => ''
bagianbaik, itu tergantung pada proyek yang dimaksud. Beberapa proyek memiliki file * .gemspec di direktori root mereka. Kalau begitu, itu akan terjadi
Proyek lain memiliki tugas menyapu, yang disebut "permata" atau "membangun" atau sesuatu seperti itu, dalam hal ini Anda harus memanggil "menyapu", tetapi itu tergantung pada proyek.
Dalam kedua kasus Anda harus mengunduh sumbernya.
sumber
gemname-version.gem
file yang dibuat saat menjalankangem build
gem install gemname-version.gem
perintah menginstal git gem secara lokal? Saya tidak dapat menemukan di mana pun di mesin lokal saya permata mesin diinstal dengan cara ini. Di mana bundler menyembunyikannya?gem install gemname-version.gem
garisnya harusgem install --local gemname-version.gem
gem which gemname
harus memberi tahu Anda di mana permata tertentu berada, apakah itu tidak bekerja untuk Anda?Coba permata specific_install itu memungkinkan Anda untuk menginstal permata dari repositori github (seperti 'edge'), atau dari URL sewenang-wenang. Sangat berguna untuk memalsukan permata dan meretasnya di banyak mesin dan semacamnya.
misalnya
sumber
specific_install
permata?ERROR: While executing gem ... (NoMethodError) undefined method 'build' for Gem::Package:Module
Kedengarannya sangat keren tapi saya tidak akan memeriksanya lebih jauh. Hanya ingin memposting yang tidak berfungsi untuk saya jika ada orang lain yang akan memberikannya berdasarkan rekomendasi SO.Bundler memungkinkan Anda untuk menggunakan permata langsung dari repositori git. Di Gemfile Anda:
Untuk info lebih lanjut, lihat https://bundler.io/v2.0/guides/git.html
sumber
bundle
, dependensi git-gem- tidak akan diinstal secara global tetapi di direktori home pengguna saat ini. Penumpang akan menjalankan ruby sebagai pengguna server web Anda (mis.www-data
) Yang tidak memiliki akses ke direktori ini dan karenanya "git-gem" ini tidak akan dimuat. Anda akan mendapatkan kesalahan... is not yet checked out. Run bundle install first
.OBSOLETE (lihat komentar)
Jika proyek berasal dari github, dan terkandung dalam daftar di http://gems.github.com/list.html , maka Anda bisa menambahkan repo github ke sumber permata untuk menginstalnya:
sumber
Jika Anda mendapatkan permata dari repositori GitHub publik, Anda dapat menggunakan singkatan
sumber
Anda juga bisa melakukannya
gem install username-projectname -s http://gems.github.com
sumber
Di Gemfile Anda, tambahkan berikut ini:
Anda juga dapat menambahkan opsi ref, cabang dan tag,
Misalnya jika Anda ingin mengunduh dari cabang tertentu:
Lalu lari:
sumber
Jika Anda menginstal menggunakan bundler seperti yang disarankan oleh gryzzly dan permata membuat biner maka pastikan Anda menjalankannya
bundle exec mygembinary
karena permata disimpan dalam direktori bundler yang tidak terlihat di jalur permata normal.sumber
Pada mesin Linux baru Anda juga perlu menginstal
git
. Bundle menggunakannya di belakang layar.sumber