Yanıtlar:
Bunu yapabileceğine inanıyorum:
gem "foo", path: "/path/to/foo"
spring stop, gerçekten sorun olup olmadığını görmek için deneyin .
Yolu belirtmenin yanı sıra (Jimmy'nin belirttiği gibi) Bundler'ı yalnızca aşağıdaki yapılandırma seçeneğini kullanarak ortamınız için yerel bir mücevher kullanmaya da zorlayabilirsiniz :
$ bundle config local.GEM_NAME /path/to/local/git/repository
Yan yana iki mücevher veya mücevher ve ray uygulaması geliştiriyorsanız bu son derece yararlıdır.
Ancak bunun yalnızca bağımlılığınız için git'i kullandığınızda işe yaradığını unutmayın, örneğin:
# In Gemfile
gem 'rack', :github => 'rack/rack', :branch => 'master'
# In your terminal
$ bundle config local.rack ~/Work/git/rack
Dokümanlarda görüldüğü gibi .
BUNDLE_PATH(dağıtım için bir paket oluşturma). Önerdiğinizi veya Jimmy'nin cevabını yaparken, sadece bir şey yapar usingve aslında BUNDLE_PATHklasörüme yüklenmez . Bunu anlayamadım, herhangi bir yardım?
bundle config --delete local.GEM_NAME
bundle config disable_local_branch_check trueveya Bundler şube hakkında şikayet edecektir. Çeklerin yanlış taahhütlerin girmesini durdurması gerektiği için buna dikkat edin Gemfile.lock. Dokümanlar burada: bundler.io/v1.12/git.html
Üzerinde çalışıyorsanız, git ile yerel bir mücevher de başvurabilirsiniz.
gem 'foo',
:git => '/Path/to/local/git/repo',
:branch => 'my-feature-branch'
Sonra değişirse koşarım
bundle exec gem uninstall foo
bundle update foo
Ama herkesin bu iki adımı atması gerektiğinden emin değilim.
bundle uninstall <gem> && bundle install her değişikliği yapmanız ve uygulamanıza yansıtılmasını istediğiniz her değişiklik için
Bir Rails projesinde yerel mücevher deposunu kullanmak için aşağıdaki adımları izleyin:
Gem klasörünüzün git deposu olup olmadığını kontrol edin (komut gem klasöründe yürütülür)
git rev-parse --is-inside-work-treeHavuz yolu alma (komut gem klasöründe yürütülür)
git rev-parse --show-toplevelRaylar uygulaması için yerel bir geçersiz kılma ayarlama
bundle config local.GEM_NAME /path/to/local/git/repository
nerede GEM_NAME adı/path/to/local/git/repository ve komutun noktadaki çıktısı2
Uygulamanıza Gemfileaşağıdaki satırı ekleyin:
gem 'GEM_NAME', :github => 'GEM_NAME/GEM_NAME', :branch => 'master'Koşu bundle installböyle bir şey vermelidir:
Using GEM_NAME (0.0.1) from git://github.com/GEM_NAME/GEM_NAME.git (at /path/to/local/git/repository)
GEM_NAMEgeminin adı nerede ve/path/to/local/git/repository nereden2
Son olarak, koş bundle list, değil gem listve böyle bir şey görmelisin:
GEM_NAME (0.0.1 5a68b88)
GEM_NAMEgeminin adı nerede
Kullanarak gözlemlediğim birkaç önemli durum:
Rails 4.0.2
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]
Ubuntu 13.10
RubyMine 6.0.3
RubyMineyerel taşlar harici bir kütüphane olarak gösterilmiyor. Hata hakkında daha fazla bilgiyi burada ve burada bulabilirsinizstop/startiçin raylar sunucusu gerekirversionGem değiştiriyorum, stopping/startingRails sunucusu bana bir hata verir. Bunu düzeltmek için, Gemfilebu gibi raylar uygulamasında mücevher sürümünü belirtiyorum :
gem 'GEM_NAME', '0.0.2', :github => 'GEM_NAME/GEM_NAME', :branch => 'master'Taşlara kaynak: source: 'https://source.com', git repository (:github => 'git/url')ve yerel yolla başvurabilirsiniz :path => '.../path/gem_name'. Gemfiles ve bu makalede nasıl kullanılacağı
hakkında daha fazla bilgi edinebilirsiniz .