Yanıtlar:
Bundler kullanıyorsanız, Gemfile'ınıza böyle bir şey eklemeniz gerekir:
gem 'redcarpet', :git => 'git://github.com/tanoku/redcarpet.git'
Ve .gemspecdosya varsa, çalıştırırken taşı getirmeli ve kurabilmelidir bundle install.
UPD. Yorumlarda belirtildiği gibi, Bundler'ın düzgün çalışması için aşağıdakileri de eklemeniz gerekir 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 => ''bölüm
bu söz konusu projeye bağlı. Bazı projelerin kök dizinlerinde * .gemspec dosyası vardır. Bu durumda,
gem build GEMNAME.gemspec
gem install gemname-version.gem
Diğer projelerin "gem" veya "build" olarak adlandırılan bir komisyon görevi vardır, bu durumda "komisyon" u çağırmanız gerekir, ancak bu projeye bağlıdır.
Her iki durumda da kaynağı indirmeniz gerekir.
gemname-version.gemBaþlatýrken dosya oluşturulurgem build
gem install gemname-version.gemKomut git gem'i yerel olarak nereye kurar? Yerel makinemin herhangi bir yerinde bu şekilde yüklü bir motor mücevher bulamıyorum. Bundler onu nerede saklıyor?
gem install gemname-version.gemçizgi olmalıgem install --local gemname-version.gem
gem which gemnameBelirli bir mücevher nerede olduğunu söylemeliyim, bu sizin için çalışmıyor mu?
Github deposundan ('edge' gibi) veya keyfi bir URL'den bir mücevher yüklemenize izin veren spesifik_kurulum taşını deneyin . Taşları çatallamak ve birden fazla makinede ve benzeri bilgisayarlarda kesmek için çok yararlıdır.
gem install specific_install
gem specific_install -l <url to a github gem>
Örneğin
gem specific_install https://github.com/githubsvnclone/rdoc.git
specific_installgem hakkında daha fazla açıklama ekleyebilir misiniz ?
ERROR: While executing gem ... (NoMethodError) undefined method 'build' for Gem::Package:Module Kulağa çok hoş geliyor ama daha fazla bakmayacağım. Sadece başka biri SO tavsiye dayalı bir koşuşturma vermek üzereyse benim için işe yaramadı göndermek istedim.
Bundler , taşları doğrudan git depolarından kullanmanızı sağlar. Gemfile dosyasında:
# 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'
Daha fazla bilgi için bkz. Https://bundler.io/v2.0/guides/git.html
bundle, bu git-gem- bağımlılıkları genel olarak değil, geçerli kullanıcının ana dizinine yüklenir. Yolcu, web sunucunuzun www-databu dizine erişimi olmayan kullanıcısı (örn. ) Olarak ruby çalıştırır ve bu nedenle bu "git-gem" yüklenmez. Bir hata alırsınız ... is not yet checked out. Run bundle install first.
OBSOLETE (yorumlara bakın)
Proje github'dan geliyorsa ve http://gems.github.com/list.html adresindeki listede yer alıyorsa, yüklemek için gemsub repo'yu taşlar kaynaklarına ekleyebilirsiniz:
$ gem sources -a http://gems.github.com
$ sudo gem install username-projectname
Mücevherlerinizi halka açık bir GitHub deposundan alıyorsanız, stenografı kullanabilirsiniz.
gem 'nokogiri', github: 'tenderlove/nokogiri'
Ayrıca yapabilirsin gem install username-projectname -s http://gems.github.com
Gemfile'ınıza aşağıdakileri ekleyin:
gem 'example', :git => 'git://github.com/example.git'
Ayrıca ref, şube ve etiket seçenekleri ekleyebilir,
Örneğin, belirli bir şubeden indirmek istiyorsanız:
gem 'example', :git => "git://github.com/example.git", :branch => "my-branch"
O zaman koş:
bundle install
Gryzzly tarafından önerildiği gibi bundler kullanarak yüklerseniz ve gem bir ikili dosya oluşturursa bundle exec mygembinary, gem normal gem yolunda görünmeyen bir bundler dizininde depolandığından, onu çalıştırdığınızdan emin olun .
Yeni bir Linux makinesinde de yüklemeniz gerekir git. Bundle onu perde arkasında kullanır.
require "bundler" Bundler.setup(:default)Daha fazla ayrıntı için paket belgelerine bakın