2010-11-07 24 views
45

Tôi có một số đá quý bao gồm ruby-debug trong nhóm bundler được gọi là: development. Khi tôi chạy lệnh bó, những viên đá quý này được bỏ qua và nó chỉ cài đặt những viên đá quý không có trong bất kỳ nhóm nào. Làm thế nào tôi có thể chắc chắn rằng bundler không bỏ qua những viên đá quý trong nhóm phát triển:?Rails bundler không cài đặt đá quý bên trong một nhóm

Chỉnh sửa: Đây là hình thức Gemfile của tôi.

source 'http://rubygems.org' 
gem 'rails', '3.0.1' 

# Auth gems 
gem "devise", "1.1.3" 
gem "omniauth" 

# Bundle Mongoid gems 
gem "mongoid", "2.0.0.beta.19" 
gem "bson_ext" 

# Asset gems 
gem 'jquery-rails' 
gem "jammit" 

# Controller gems 
gem 'inherited_resources', '1.1.2' 

# View gems 
gem 'haml' 
gem 'formtastic', '~> 1.1.0' 

# Nokogiri 
gem "mechanize" 
gem "json" 


group :development do 
    gem "ruby-debug" 
    gem 'compass' 
    gem 'compass-colors' 
    gem 'pickler' 
    gem 'haml-rails' 
    gem 'rails3-generators' 
    gem "hpricot" 
    gem "ruby_parser" 
    gem 'fog' 
end 
+0

bạn có thể đăng gemfile của mình không? – ipsum

+0

Bạn sử dụng phiên bản Rails nào? – pex

+0

Tôi sử dụng Rails 3. Nhập Gemfile của tôi vào bài đăng. – picardo

Trả lời

121

Trong phiên hạn, nó nhớ tùy chọn without. Nếu bạn lần đầu tiên chạy

bundle install --without development 

nó nhớ rằng bạn đã làm điều này và sẽ tự động lặp lại điều này cho tới

bundle install #remembers and includes --without development 

chạy cái gì khác, như bundle install --without nothing nên xóa bộ nhớ cache. Tôi có đúng không?

Cập nhật 20150214: Điều này được sửa trong gói 2.0, theo sự cố được tham chiếu trong nhận xét của @Stan Bondi (https://github.com/bundler/bundler/issues/2862). Cảm ơn Stan.

+25

Điều này được lưu sẽ chấm dứt sự thất vọng của tôi !!! Làm 'rm .bundle/config' là cách tốt nhất để xóa cache. – Kris

+49

Chỉ bị cắn bởi điều này. Cờ dòng lệnh phải là trạng thái không trạng thái. – bradgonesurfing

+0

Điều này cũng đã cứu được sự thất vọng của tôi - cảm ơn –

-1

Trong thực tế Rails tự động tải :development nhóm tự động khi trong môi trường phát triển. Kiểm tra xem Rails.env trong ứng dụng của bạn có thực sự trả về "development" hay không.

biết thêm thông tin về các nhóm trong Bundler: http://gembundler.com/groups.html

1
gem 'aws-s3' 
    gem 'paperclip' 
     group :test do 
     gem 'rspec' 
     gem 'waitr' 
     gem 'faker' 
     end 

gem 'rest-client', :group => :development 
gem 'cucuber-rails', :groups => [:development,:test] (cucuber-rails gems comes under both group) 

bundle install --without development #(ignore development group gems) 
bundle install #(still bundle remembers --without development so result is still ignore development groups it will not install all gems) 

bundle install --without nothing #(just clearing cache, now all the gems to be loaded into the ruby loadpath) 

More

0

Tôi đã có một vấn đề tương tự - mỏng trong dàn bỏ qua - và các giải pháp là đặt nó ra nếu dàn dựng vào không gian 'toàn cầu':

gem 'thin' 

group :production do 
    gem 'puma' 
end 
19

Nếu bạn là sử dụng đường ray, sẽ có một tệp config được ghi vào thư mục ẩn có tên là .bundle trong thư mục gốc của đường ray của bạn:

.bundle/config 

Tệp này, trong trường hợp của tôi, được giữ chính xác các cài đặt without.

Vì vậy, tôi chỉ cần xóa các .bundle thư mục:

rm .bundle -r 

Sau đó:

bundle install làm việc một lần nữa như mong đợi.

Using: bundler (1.5.2) 
6

Tôi gặp vấn đề tương tự và cờ --with đã hoạt động đối với tôi. Bạn cần phải chuyển tên nhóm mà bạn muốn đưa vào. Như vậy:

bundle install --with development 
+0

Vui lòng thêm mô tả khác vào bài đăng của bạn. Làm thế nào chính xác nó giúp resove vấn đề được đề cập trong câu hỏi – Raju

Các vấn đề liên quan