2011-10-07 3 views
1

수정 된 버전을 Heroku에 푸시 할 수 있도록 특정 수정 사항을 수정하려고합니다. this discussion으로, 나는 vendor/cache에 나의 기존 보석의 사본을 저장하기 위해 bundle package을 사용하고있다. 그러나 더 가깝게 점검하면, 내 번들이 아니라 원래의 서버 버전의 보석이 나온다.편집 한 보석에 번들 패키지를 사용하는 방법은 무엇입니까?

bundle show gdata에 지정된 파일에 해당 편집자가 해당 버전을 가리키고 있다고 생각했던 내용이 포함되어 있는지 확인했습니다. bundle-package doc은 .gem 파일에서만 작동합니다 (설치된 gem 디렉토리가 아닌?).

특정 버전의 보석을 어떻게 정지시킬 수 있습니까?

답변

3

vendor/gems 같은 폴더에 수정 된 보석을 복사하고 Gemfile에 해당 버전을 가리 :

gem "modified_gem", :path => "vendor/gems/modified_gem" 

을 그리고 버전 관리에 vendor/gems을 확인하는 것을 잊지 마세요.

이 답변을 간략히하기 위해 죄송합니다. 설명이 필요한 경우 알려 주시기 바랍니다.

+0

나는 그것을 시도했지만 작동하지 않았다. 다양한 디렉토리 레벨에서 슬래시가 있는지 여부를 포함하여 모든 가능한 경로 옵션을 시도했습니다. '소스에 'gdata (> = 0)'버전이 없습니다. ' 패키지 된 .gem 파일이 아닌 압축되지 않은 모듈을 복사했기 때문에 이렇게 할 수 있습니까? (그리고 그것을 재 포장해야하는 요지는 무엇입니까?) – Dan

+0

@ Dan - bundler가 vendor/gems/gdata에서 찾을 수있는'gdata.gemspec' 파일이 있는지 확인하십시오. – bricker

+1

고마워, 벽돌. 집에서 보는 사람들은 원본 디렉토리 만 복사하는 것이 아니라 자신 만의 보석을 만들어야합니다. 또한 인간 사건의 과정에서'bundle install --local'을 사용할 때 엉망이되었습니다. 나는이 설정이 미래의 모든 번들 설치 작업에 대한 기본값을 로컬로 설치하는 것을 모르고있었습니다. 이것을'bundle install --system'으로 재설정하십시오. – Dan

관련 문제