【Rails】 Rails5 앱에서 ES6 구문을 사용하여 Heroku에 배포하는 경우
소개
Rails5 앱을 Heroku에 배포하는 동안
Uglifier::Error: Unexpected token:~
오류가 발생했을 때 해결한 방법을 설명합니다.환경
오류 내용
remote: !
remote: ! Precompiling assets failed.
remote: !
remote: ! Push rejected, failed to compile Ruby app.
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to golfmatch.
remote:
To https://git.heroku.com/golfmatch.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/アプリ名'
Precompiling assets failed.
프리컴파일이란 컴파일하기 위한 사전처리(기계측이 이해할 수 있는 내용에 처리)우선 파일을 읽을 수 없다고 합니다. ^^;
어디에서 처리가 멈추고 있는지 로그를 따라가면,
rake aborted!
remote: Uglifier::Error: Unexpected token: punc ()). To use ES6 syntax, harmony mode must be enabled with Uglifier.new(:harmony => true).
"ES6을 사용하려면 Uglifier.new(:harmony => true)에서 harmony mode를 활성화해라"라는 오류 내용입니다.
그러므로
해결책
config/environments/production.rb
config.assets.js_compressor = :uglifier
↓ 以下に変更
config.assets.js_compressor = Uglifier.new(harmony: true)
프로덕션 환경의 설정 파일을 변경해 주면 무사히 배포가 가능했습니다! ^^
끝에
해결까지 무사히 도착한 것도 제대로 로그를 확인할 수 있었던 것이었습니다!
문자의 열이 더 흐르면 읽는데 혐기가 느껴진다고 생각합니다만,
여기! rake aborted!
발견하면 해결까지 그렇게 시간은 걸리지 않는다고 생각합니다!
나중에 해결할 수 있으면 즐겁습니다 ^^
heroku 배포에서 곤란한 분의 해결안이되면 다행입니다!
고마워요! 😊
Reference
이 문제에 관하여(【Rails】 Rails5 앱에서 ES6 구문을 사용하여 Heroku에 배포하는 경우), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/chokichoki_gm/items/411290a80db6eeded083텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)