2012-07-26 19 views
22

plugins=(git bundler).zshrc numaralı telefondan oh-my-zsh kullanıyorum. Yani, binstub üretmek için bundler'a ihtiyacım yok. Ama bundler yine de yapar. Bundler'ın binstub oluşturması nasıl engellenir?

 
➜ bundle 
Using rake (0.9.2.2) 
... 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. 
 
✗ ls bin 
erubis  haml   nokogiri  rails  rake2thor rdoc   resque-web sass   scss   thor   tt 
guard  html2haml rackup  rake   rdiscount resque  ri   sass-convert thin   tilt 

Neden binstubs hazırlanmayacağından yaptı - ben onlar için soran bir seçenek geçemedi. En azından ben öyleyim sanmıyorum: Ben de benim ~/.bundle/config şey yok

 
➜ which bundle 
/Users/david/.rbenv/shims/bundle 
➜ cat /Users/david/.rbenv/shims/bundle 
 
#!/usr/bin/env bash 
set -e 
export RBENV_ROOT="/Users/david/.rbenv" 
exec rbenv exec "${0##*/}" "[email protected]"

.

Lütfen kaboyu istenmeyen çöp kutularına koymama yardım edin!

cevap

53

Bundler, uygulama başına temelde binstube oluşturur. Geçmişte bir noktada bundle install --binstubs çalıştırdıysanız, Bundler bunu yeniden yüklediğinizde her zaman bin çizilerini hatırlayacak ve üretecektir. Onları devre dışı bırakmak için bundle install --no-binstubs'u çalıştırabilir veya rm -rf .bundle/config'u çalıştırabilirsiniz. Her iki şekilde de, binstub nesli devre dışı bırakacak.

+10

"Silmek yerine" inanıyorum.bundle/config' bir bütün olarak düzenleyip, 'BUNDLE_BIN' satırını kaldırmak yeterlidir. –

+8

'--no-binstubs' seçeneği benim için çalışmadı. '.bundle/config' öğesini elle düzenlemek zorunda kaldım. –

+2

"rm -rf .bundle/config" yapmam gerekiyordu. Yine de içeriğini kontrol etmelisin. Benim için sadece suçlu gibi görünen 'BUNDLE_BIN: bin' satır vardı. –

18

numaralı numaralı seçeneği numaralı seçeneği, 1.5.3!

Bunun yerine, bundle config --delete bin kullanın veya .bundle/config dosyasını düzenleyin ve BUNDLE_BIN satırını dosyadan kaldırın, ardından istenmeyen dosyaları yerel binstub dizininden kaldırın.

Örnek:

ianh$ cat .bundle/config 
--- 
BUNDLE_CACHE_ALL: "true" 
BUNDLE_BIN: bin 

ianh$ bundle install --no-binstubs 
Using rake (10.1.1) 
... etc etc ... 
Using bundler (1.5.3) 
Updating files in vendor/cache 
Your bundle is complete! 
Use `bundle show [gemname]` to see where a bundled gem is installed. 

ianh$ cat .bundle/config 
--- 
BUNDLE_CACHE_ALL: "true" 
BUNDLE_BIN: bin 

# see ... it didn't remove the option. 

ianh$->(15) bundle config --delete bin 

ianh$ cat .bundle/config 
--- 
BUNDLE_CACHE_ALL: "true" 

ianh$ bundle -v 
Bundler version 1.5.3 
1

hala alıyorsanız binstubs sizin $HOME/users/.bundle/config dosyasını değiştirdikten sonra büyük olasılıkla daha başka yapılandırma bazı yerlerde var daha fazladır. Aradığınız Ne takip komutunu

$ bundle config 
Settings are listed in order of priority. The top value will be used. 
gem.coc 
Set for the current user (/Users/username/.bundle/config): "true" 

gem.mit 
Set for the current user (/Users/username/.bundle/config): "true" 

gem.test 
Set for the current user (/Users/username/.bundle/config): "rspec" 

build.libv8 
Set for the current user (/Users/username/.bundle/config): "--without-system-v8" 

disable_multisource 
Set for the current user (/Users/username/.bundle/config): "true" 

bin 
Set for your local app (/Users/username/apps/ruby/rails_application/.bundle/config): "bin" 
Set for the current user (/Users/username/.bundle/config): "false" 

yürütmek nereye anlamaya amacıyla bin bilgidir. Bu bilgi, içinde yapılandırma bilgilerinin bulunduğu dosyalara yol gösterir. ne Bunu düzeltmek için yapabileceği yapılandırma dosyasına gidin ve bundle config çalıştırırsanız yine bin yapılandırma görmemeli veya yanlış BUNDLE_BIN: 'false'

vi /Users/username/apps/ruby/rails_application/.bundle/config 

değişiklik paketi bin BUNDLE_BIN: bin diyor çizgiyi silmek veya gerektiği olduğunu bunun yanlış olarak ayarlandığını görün. Bu örnekte benimkini false olarak ayarladım, böylece bu yeni sonucu elde ediyorum. Ancak kendi özel .bundle/config olabilir paket yanıt her yakut uygulamasını nota

bin 
Set for your local app (/Users/username/apps/ruby/gscs_ci/.bundle/config): "false" 
Set for the current user (/Users/username/.bundle/config): "false" 

şey

güncellemek durumunda tüm yeni dosyalar bin dizininde oluşturulan olmamalıdır .bundle/config zaman sizi yakut bundle veya bundle install

başka bir şey öğrendim, bazen o kadar sadece BUNDLE_BIN basit olabilir o çizgiyi silmek daha iyi olabilir bir dizindir yanlış düşünüyor.

İlgili konular