2016-10-18 6 views
1

스테이징 서버가 있습니다. 그리고 제가 조사하고 싶은 문제가 있습니다. 하지만 byebugGemfile에 추가하는 것을 잊었습니다. 확실히 로컬에 추가 할 수 있으며 bundle을 실행하고 저장소에 커밋하고 배포하십시오. 그러나 쉬운 방법이 아닌가? 내가 bundle을 원격으로 Gemfile을 변경하고 실행하려고하면프로덕션 환경에 번들러가있는 추가 보석을 설치하는 방법은 무엇입니까?

내가 얻을 :

You are trying to install in deployment mode after changing 
your Gemfile. Run `bundle install` elsewhere and add the 
updated Gemfile.lock to version control. 

If this is a development machine, remove the /home/gccs/website-backend/releases/20161018143057/Gemfile freeze 
by running `bundle install --no-deployment`. 

You have added to the Gemfile: 
* byebug 

보석은 기본적과 같이, capistrano와 함께 설치됩니다 (

bundle install --path /home/user/app/shared/bundle --without development test --deployment --quiet 

답변

1

'0'-BUNDLE_FROZEN: '1'을 변경 편집 .bundle/config 또는 제거)은 Bundler가 전개 환경에서 gem을 관리 할 수 ​​있도록하기에 충분합니다. 그런 다음 Gemfile을 편집하고 bundle을 실행하고 응용 프로그램을 다시 시작하면 맞춤 보석을 사용할 수 있습니다.

응용 프로그램 런타임 (예 : pryrails console 인 경우)을 사용하지 않으려면 서버를 다시 시작하지 않아도됩니다.

+0

질문에 대한 정보를 추가했습니다. 그리고 나는'bundler'가'Gemfile.local'을 가지고 같은 에러 메시지를 생성한다고 말할 수 있습니다. –

+1

'.bundle/config'을 편집하고이 줄을 제거해야합니다 :'BUNDLE_FROZEN : '1''.) – mdesantis

+1

'.bundle/config를 편집하고이 행을 제거해야합니다 : BUNDLE_FROZEN : '1 '' 또는'0 '으로 변경하십시오. 어쨌든, 훌륭 하네, 고마워. 'commit, push and deploy'보다 더 복잡해지기 시작하고 있습니다. 음, 전혀 변화가 없으며,'Gemfile' 변경,'Gemfile' 변경,'bundle'을 실행하면됩니다. 'Gemfile.local'은 필요 없습니다. 답변을 업데이트 해주세요. –

1

추가 보석을 설치할 수없는 이유는 번들이 고정되어 있기 때문입니다. 당신은 너무처럼 확인할 수 있습니다

$ grep FROZEN .bundle/config 
BUNDLE_FROZEN: '1' 

당신이 (mdesantis에 의해 제안) 줄을 제거 또는 "0"으로, 당신은 당신이 원하는대로 보석 설치 할 수 있습니다 "1"로 변경하는 경우, 그것은 마치 개발자 기계였습니다. 그러나 더 이상 필요하지 않으면 일반적으로 값을 복원하는 것이 가장 좋습니다. bundler이 다음 배포시 자동으로 수행되는지 확신 할 수 없습니다.