Herokuのデプロイ時にエラーがいくつか出たため、
その解決方法の助けとなれば幸いです。
開発環境
ruby 2.5.7
Rails 5.2.4.3
OS: macOS Catalina
流れ
1 ターミナルでエラー確認
2 herokuのマイページにログインする
3 エラー箇所を調べる
4 エラーを解消する
herokuのマイページにログインする
https://dashboard.heroku.com/apps こちらにログインしてください。
最初は確認画面が出ますが、そのままacceptで大丈夫です。
(念の為、翻訳して確認してください)
ログイン後、作成したアプリ名のリンクがあるのでクリックすると、
右側に「Latest activity」があり、
その下にデプロイのエラーが出ている場合、
Xマークが赤くついています。
その横の「View build log」に飛ぶと、詳しいエラーが記載されています。
以下実際にあったエラーを記載しますので、
参考にしていただければと思います。
Precompiling assets failed.
ターミナルでエラー確認
remote: !
remote: ! Precompiling assets failed.
remote: !
remote: ! Push rejected, failed to compile Ruby app.
herokuのマイページにログインし、エラー箇所を調べる
logの中盤ぐらいにあるので、Errorの文字を探してください。
...
Uglifier::Error: Unexpected token: name (mapping). To use ES6 syntax, harmony mode must be enabled with Uglifier.new(:harmony => true).
--
...
18254
18255
18256
18257
18258 function initMap(){
=> let mapping
...
エラーを解消する
今回の場合は、letの記述がES6 syntaxを使っておりエラーとなっていました。
解決策としては、
①
config.assets.js_compressor = :uglifier
↓
config.assets.js_compressor = :Uglifier.new(:harmony => true)
②
function initMap(){
let mapping
↓
function initMap(){
var mapping
私の場合は①を試しましたが、エラーが解消できなかったため、②で解消しました。
まとめ
もちろんエラーの文言をそのまま検索すれば大抵のエラーは解消できると思います。
しかし、個別で状況が違ってくると同じ解決方法では対処できないときもあるので、
様々な解決方法を知っておくのは大切だと考えています。
少しでも参考になれば幸いです。
またtwitterではQiitaにはアップしていない技術や考え方もアップしていますので、
よければフォローして頂けると嬉しいです。
詳しくはこちら https://twitter.com/japwork