2011-01-21 5 views
0

테스트 용으로 Bundler와 RSpec을 사용하여 보석을 개발하고 있다면. 내 Bundler.setup은 어디에서해야합니까? fancy-gem라고의 내 보석을 가정 해 보자 내 디렉토리 설정은 다음과 유사합니다Bundler 설정은 어디에서해야합니까?

Gemfile 
Gemfile.lock 
lib/ 
    fancy-gem.rb 
Rakefile 
README 
spec/ 
    ... 

내가 내 '공상 gem.rb'에 Bundler.setup을 실행하거나 들러를 사용할 수있는 다른 보석이 문제를 일으킬 수행해야 하는가? 나는 이것을하지 않을 때, 내가 필요로하는 제 3 자 라이브러리의 올바른 버전이로드되었는지를 보장 할 수있는 방법이 없다고 생각합니다.

이미 물어 보면 I need to add Bundler itself to the Gemfile입니다. 대답은 '아니오'였습니다.하지만 지금은 확실하지 않습니다. Bundler를 실행하면 어딘가에서 Bundler가 실제로 내 보석의 의존성이되고 rubygems.org에서 다운로드 할 때 내 보석과 함께 설치해야합니다.

답변

3

제 생각에는 당신은 묶이는 사람에 의존해서도 안되고 보석에 사용해서는 안됩니다. 내가 할 수있는 방법은 단순히 lib/fancy-gem.rb (거의 모든 보석에는 소수의 런타임 종속성이 있으므로이 작업은 너무 많은 번거 로움이 없어야 함)에서의 보석 의존성이 필요하며 Bundler .setup은 spec_helper.rb 나 Rakefile과 같은 개발 파일에만 있습니다. 이렇게하면 보석을 사용하는 응용 프로그램을 사용하지 않고 보석을 개발할 때 자동 종속성 관리의 모든 편의를 누릴 수 있습니다.

+0

일반적으로 런타임 종속성은 어떻게 필요합니까? 단순히'require'를 사용하거나'gem '을 사용합니까?', '~> 1.0.0'; 명시 적으로 특정 버전을 요구하려면 '...'이 필요합니까? – t6d

관련 문제