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 .gemspec
dosya 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.gem
Baþlatýrken dosya oluşturulurgem build
gem install gemname-version.gem
Komut 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 gemname
Belirli 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_install
gem 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-data
bu 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