Jawaban:
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)
gem 'redcarpet', :git => 'git://github.com/tanoku/redcarpet.git', :branch => 'yourbranch'
gem 'redcarpet', github: 'tanoku/redcarpet'
. akash.im/2012/06/05/bundler-new-github-option.html
gem 'redcarpet', :git => 'git://github.com/tanoku/redcarpet.git', :tag => 'v2.3.5'
<- :tag => ''
bagian
baik, itu tergantung pada proyek yang dimaksud. Beberapa proyek memiliki file * .gemspec di direktori root mereka. Kalau begitu, itu akan terjadi
gem build GEMNAME.gemspec
gem install gemname-version.gem
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.
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.
gem install specific_install
gem specific_install -l <url to a github gem>
misalnya
gem specific_install https://github.com/githubsvnclone/rdoc.git
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:
# Use the http(s), ssh, or git protocol
gem 'foo', git: 'https://github.com/dideler/foo.git'
gem 'foo', git: 'git@github.com:dideler/foo.git'
gem 'foo', git: 'git://github.com/dideler/foo.git'
# Specify a tag, ref, or branch to use
gem 'foo', git: 'git@github.com:dideler/foo.git', tag: 'v2.1.0'
gem 'foo', git: 'git@github.com:dideler/foo.git', ref: '4aded'
gem 'foo', git: 'git@github.com:dideler/foo.git', branch: 'development'
# Shorthand for public repos on GitHub (supports all the :git options)
gem 'foo', github: 'dideler/foo'
Untuk info lebih lanjut, lihat https://bundler.io/v2.0/guides/git.html
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:
$ gem sources -a http://gems.github.com
$ sudo gem install username-projectname
Jika Anda mendapatkan permata dari repositori GitHub publik, Anda dapat menggunakan singkatan
gem 'nokogiri', github: 'tenderlove/nokogiri'
Anda juga bisa melakukannya gem install username-projectname -s http://gems.github.com
Di Gemfile Anda, tambahkan berikut ini:
gem 'example', :git => 'git://github.com/example.git'
Anda juga dapat menambahkan opsi ref, cabang dan tag,
Misalnya jika Anda ingin mengunduh dari cabang tertentu:
gem 'example', :git => "git://github.com/example.git", :branch => "my-branch"
Lalu lari:
bundle install
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.
Pada mesin Linux baru Anda juga perlu menginstal git
. Bundle menggunakannya di belakang layar.
require "bundler" Bundler.setup(:default)
Lihat bundler docs untuk lebih jelasnya