2012-02-09 3 views
22

레일즈에서 "Gemfile.lock"의 목적은 무엇입니까? 나는 주위를 검색했지만 만족스러운 답을 찾을 수 없었다.Gemfile.lock Rails에서 사용 하시겠습니까?

+0

이 자료에 대한 가장 좋은 자료는 분명히 [ ".gemspec 및 Gemfile의 역할을 분명히하는"] 기사입니다. (http://yehudakatz.com/2010/12/16/clarifying-the-roles-of- the-gemspec-and-gemfile /). 그것을 읽으면이 주제에 대한 모든 의구심이 분명해질 것입니다. – lucapette

답변

25

당신은 bundler 보석의 모든 문서를 읽어야 http://gembundler.com/

GEMFILE.LOCK

당신이 번들 설치 실행하면 Bundler를 전체 이름과 모든 보석의 버전을 지속됩니다 당신 (Gemfile (5)에 지정된 개의 보석의 의존성을 포함하여) Gemfile.lock이라는 파일에 사용되었습니다.

Bundler는 번들 설치 에 대한 모든 후속 호출에서이 파일을 사용하므로 응용 프로그램이 여러 컴퓨터로 이동하는 경우에도 항상 똑같은 코드를 사용합니다. 방식 때문에 의존성 해결 작품, (예를 들어, Gemfile (5) 당신의 보석의 종속성의 포인트 릴리스에 대한 업데이트)도 겉보기에 작은 변화 근본적으로 다른 보석 인 발생할 수의

모든 종속성을 충족 시키려면 이 필요합니다.

결과적으로 Gemfile.lock을 버전 제어로 확인해야합니다. 그렇지 않으면 저장소 (프로덕션 서버 포함)을 체크 아웃하는 모든 시스템이 모든 종속성을 다시 확인하므로 결과적으로 다른 버전의 제 3 자 코드 이 사용됩니다.이 경우 Gemfile (5) 또는 해당 종속성 중 하나가 업데이트되었습니다.

5

Gemfile.lock 귀하의 앱 및 배포 환경의 다른 개발자가 방금 설치 한 것과 동일한 제 3 자 코드를 사용하도록합니다.

관련 문제