2013-07-20 5 views
0

두 개의 레일 사이에 충돌하는 보석을 두어서는 안되기 때문에 새 레일즈 프로젝트마다 새로운 루비 설치가 필요했습니다.번들 패키지는 전 세계적으로 보석을 설치합니까

'bundle package'명령은 'vendr/cache'디렉토리에있는 프로젝트 별 보석 세트를 고정시킬 수 있음을 보았습니다.

전 세계적으로 설치하지는 않지만 그 디렉토리에 저장하십시오.

그러나 내가했을 때 '번들 패키지'는 'vendor/cache'폴더에 저장하기 전에 보석을 설치 (전역 적으로)하게되었습니다.

내가 잘못 했습니까? 그게 버그 야? the Bundler docs에서

답변

1

:

패키지 명령 ./vendor/cache에 번들에있는 당신의 보석에 대한 .gem 파일을 복사합니다.

내가 알 수있는 한, Bundler는 보석 설치를 처리하지 않고 gem 명령으로 전달합니다. 번들러가하는 일은 올바른 버전의 보석을 가지고 있는지 확인하는 것입니다. 따라서 보석을 포장 할 때에도 나중에 설치하면 보석을 가져 와서 "세계적으로"설치할 수 있습니다.

귀하의 질문에 대답하십시오 : 아니오, 당신은 아무 것도하지 않았으며 이는 버그가 아니며 의도 된 행동입니다.

+0

나는 여전히 Java 방식에 익숙하다고 생각한다. 각 응용 프로그램은 항아리가 포장되어있다. 각 응용 프로그램마다 하나의 루비 설치를 사용합니다 (적어도 잠시 동안). –

관련 문제