2010-08-19 4 views
7

Bundler를 종속성 관리에 사용하는 Rails 애플리케이션이 있습니다. 나는 내 Gemfile에 다음있어 :Rails에서 묶음 처리 된 일부 보석을 플러그인로드에서 제외 시키려면 어떻게합니까?

# default group: 
gem 'json' 

group 'development' do 
    gem 'my_profiler' 
end 

group 'test' do 
    gem 'mocha' 
end 

group 'deployment' do 
    gem 'foo' 
end 

는 내 이니셜 Bundler.setup(:default, RAILS_ENV.to_sym)Bundler.require(:default, RAILS_ENV.to_sym)를 호출합니다.

문제는 Bundler를가 vendor/bundle/에 보석을두고 있기 때문에, 레일은 현재의 환경 만이 아닌, init.rb모든 보석을 초기화한다는 것입니다. Rails가 Foo의 init.rb을 자동으로로드하지 못하게하려면 어떻게해야합니까?

+2

을 제외 할 --without 플래그를 사용할 수 있습니다 RAILS_ROOT' 대신 Rails.root', RAILS_ENV' 대신 Rails.env' – tadman

+0

공급 업체/번들/폴더를 지 웁니다. 또는 rvm gemset에 보석을 설치 한 다음 자신의 환경이 올바른지 확인하십시오. – thomasfedb

답변

1

어떤 버전의 bundler를 사용하고 있습니까? 최근의 것들 공급 업체에 설치하면 안

+0

0.9.26. 이 앱에서 1.0으로 바로 업그레이드 할 수있는 방법은 없습니다. –

+0

이전 버전은 --path를 지원한다고 생각합니다. 번들 설치 - 경로가 다른/위치가 작동해야합니다. –

11

당신은 당신이 들러를 사용하는 경우, 당신은 아마`사용해야 환경

$ bundle install --without development test 
참고로

http://gembundler.com/groups.html

+0

_bundler_가 보석을로드하고 있지 않습니다. 그것은 Rails가 벤더 디렉토리를 통해 globing하고 그들을 gem-plugins로 취급한다는 것입니다. Bundler의 최신 버전은 벤더 디렉토리에 보석을 넣지 않습니다. –

관련 문제