2009-07-17 5 views
2

최근에 2.0.5에서 2.3.2로 작업중인 레일 프로젝트를 업그레이드했습니다. 2.0.5 레일 파일의 로컬 복사본이 공급 업체/레일에 있음을 알았고 2.3.2 레일 파일을 로컬 복사본에 두어야하는지 아니면 그냥 두어야하는지 궁금합니다. 더 나은 방법으로 간주되는 것은 무엇입니까?레일 애플리케이션에서 레일스의 로컬 복사본

답변

3

예. vendor/rails에있는 Rails의 복사본은 실제로 시스템 전체에 설치된 Rails 젬보다 우선 사용됩니다. 즉, Rails 설치를 업그레이드했지만 앱이 실제로 2.0.5에서 실행되고 있습니다.

vendor/rails 디렉토리가 있으므로 특정 버전의 Rails에 앱을 "고정"할 수 있으므로 실행중인 시스템의 구성 변경에 덜 취약합니다. 이것은 디렉토리를 관리하는 자동화 된 방법이 있으므로 매우 유용합니다.

rake rails:unfreeze 
다음 vendor/rails으로 시스템에 최신 레일 보석을 설치하려면

는 않습니다 :

vendor/rails에 앉아 레일의 기존 버전을 삭제하려면 다음 레일즈 프로젝트 디렉토리의 루트로 이동 할
rake rails:freeze:gems 

vendor/rails으로 할 수있는 몇 가지 다른 작업이 있습니다. 전체 명령 목록은 rake -T을 확인하십시오.

P. 누군가 Rails가 설치되는 것에 대해 "벤더 된 (vendored)"이라는 말을 듣는다면, 이것이 의미하는 바입니다.

+0

그래, 로컬 복사본을 사용하고있는 것으로 나타났습니다. 그래서 나는 단순히 공급 업체의 레일 디렉토리를 제거했습니다. 답변 해주셔서 감사합니다. – AdamB

1

한편으로는 조금 바뀌 었습니다.

rake rails:freeze 

rake rails:unfreeze 

이되지 않습니다. 대신 사용한다 :

bundle install --path vendor/bundle 

bundle install --system 

는 다시 전환 할 수 있습니다.

관련 문제