Saya masih baru mengenal rails / ruby / bundler dan saya sedikit bingung.
Di config/application.rb
file kami ada segmen bundler ini:
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require(*Rails.groups(:assets => %w(development test)))
# If you want your assets lazily compiled in production, use this line
# Bundler.require(:default, :assets, Rails.env)
end
dan di dalam kami, Gemfile
kami menggunakan grup yang berbeda, misalnya
group :development, :test do
gem "rspec-rails", ">= 2.7.0", :group => [:development, :test]
gem 'shoulda-matchers'
gem 'watchr'
gem 'spork', '~> 1.0rc'
gem 'spectator'
gem 'debugger'
gem 'wirble'
end
Tetapi ketika saya menjalankan RAILS_ENV=production bundle install
(atau bundle install --deployment
), itu masih menginstal permata dari pengembangan / grup pengujian ...
Mengapa ini terjadi atau bagaimana saya dapat membuatnya berfungsi dengan baik?
sumber
--without
, tetapi tampaknya sangat elegan, terutama mengingat arahan konfigurasi diconfig/application.rb
(yang seharusnya membahas hal ini dengan tepat) dan juga mempertimbangkan kutipan ini: Rails 3 hadir dengan dukungan bundler.config/application.rb
dan jugaconfig/boot.rb
), tetapi bundler tidak tahu apa-apa tentang rails ... Ia hanya membaca Gemfile dan tidak menggunakan file rails tersebut. Saya pikir koin itu akhirnya jatuh. Terima kasih atas bantuan Anda!--without
seharusnya dipisahkan dengan:
s, bukan spasi. Jadi saya yakin seharusnya begitubundle install --without development:test
.Solusi alternatifnya adalah dengan menggunakan
bundle-only
permata ruby . Ini dapat digunakan sebagai berikut:Library ini tidak mencemari konfigurasi bundler atau augment Anda
Gemfile.lock
; itu adalah alternatif sederhana untukbundle --without every other group
opsi bawaan yangbundler
menyediakan.sumber