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 using
ve aslında BUNDLE_PATH
klasörüme yüklenmez . Bunu anlayamadım, herhangi bir yardım?
bundle config --delete local.GEM_NAME
bundle config disable_local_branch_check true
veya 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-tree
Havuz yolu alma (komut gem klasöründe yürütülür)
git rev-parse --show-toplevel
Raylar 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 Gemfile
aşağıdaki satırı ekleyin:
gem 'GEM_NAME', :github => 'GEM_NAME/GEM_NAME', :branch => 'master'
Koşu bundle install
bö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_NAME
geminin adı nerede ve/path/to/local/git/repository
nereden2
Son olarak, koş bundle list
, değil gem list
ve böyle bir şey görmelisin:
GEM_NAME (0.0.1 5a68b88)
GEM_NAME
geminin 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
RubyMine
yerel taşlar harici bir kütüphane olarak gösterilmiyor. Hata hakkında daha fazla bilgiyi burada ve burada bulabilirsinizstop/start
için raylar sunucusu gerekirversion
Gem değiştiriyorum, stopping/starting
Rails sunucusu bana bir hata verir. Bunu düzeltmek için, Gemfile
bu 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 .