3

heroku를 사용하여 레일에서 루비에 응용 프로그램을 배포하고 있지만 응용 프로그램을 배포 할 때 heroku가 수정 한 내용으로 업데이트하지 않습니다. 자산. 나는 간단한 rake assets:clean 그러나 Heroku가이 내가 내 자산을 수정할 때Heroku가 자산 수정을 업데이트하지 않습니다.

config.assets.initialize_on_precompile = false 

config.assets.initialize_on_precompile = true 

이 변경된 업데이 트를 백업 할 수 있도록 어떤 해결되지를 사용하여 로컬 호스트에서 내 문제를 해결하지만

답변

6

가있어 작동하지 않습니다 할 일이 거의 없다. 첫 번째는 여전히 나던 일, 그것은 캐싱 문제,이 경우, 수동 config/application.rb의 버전 범프 및 이전의 모든 자산

예를 만료 재배치 할 수있는 경우

$ rake assets:clean 
$ rake assets:precompile 
$ git add . 
... deploy to heroku 

을 다시 배포하는 것입니다 :

config.assets.version = '1.2' # change to '1.3' 
+0

어떻게 문제가 계속 지속되는지 알 수 없습니다. – overallduka

1

우선 무엇보다도. Heroku는 manifest.yml을 찾을 수 없으므로 자산없이 앱을 배포 할 때 자산을 미리 컴파일합니다.은 자산입니다.

하려면이 작업을 수행하십시오.

로컬 및 heroku의 공용 폴더에서 모든 에셋 파일을 제거합니다. production.rb

에서

당신이이 코드가 있는지 확인합니다.

config.serve_static_assets = false 
    config.assets.compress = true 
    config.assets.digest = true 
    config.assets.compile = false 

애셋이 발견되면 레일즈 앱에서 애셋을 찾을 수 있도록하려면 assets.compile = true로 설정하십시오. 미리 컴파일 된. 이상적으로이 옵션은 false 여야합니다.

config.assets.compile = true 

이러한 변경을 heroku에 푸시하십시오.

+0

나는 heroku에서 자산을 계속 수정하지 않고 heroku와 내 localhost에서 자산을 컴파일하라는 명령 앞에 localhost에서 'assets : clean'을 발행하지만 heroku는 자산을 수정하지 않습니다. – overallduka

+0

'heroku run rake assets : clean '을 시도하면 heroku의 자산을 정리합니다. 'public/asets'없이 변경을 푸시하십시오. –

0

어제 밤에도 똑같은 문제가 있었는데, 나는 heroku를 밀고 나간 후에 git와의 연결이 끊어지는 것을 발견했습니다. 일단 내가 GIT 프로세스를 다시 거치면 모든 것을 업데이트 한 heroku로 밀어 넣었습니다. 왜 연결이 끊어 지는지 모르지만, 이것은 하루 종일 내 작업이었습니다. 근본 문제를 해결하기 위해 2-3 시간을 소비했지만 그 해결 방법은 빠릅니다.

관련 문제