LoginSignup
0
0

More than 3 years have passed since last update.

【Heroku】git push heroku masterでエラーが表示されたときの解消法

Posted at

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の文字を探してください。

heroku/ViewBuildLog
...

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/environments/production.rb
config.assets.js_compressor = :uglifier

config.assets.js_compressor = :Uglifier.new(:harmony => true)

app/aseets/application.js
function initMap(){
  let mapping

function initMap(){
  var mapping

私の場合は①を試しましたが、エラーが解消できなかったため、②で解消しました。

まとめ

もちろんエラーの文言をそのまま検索すれば大抵のエラーは解消できると思います。
しかし、個別で状況が違ってくると同じ解決方法では対処できないときもあるので、
様々な解決方法を知っておくのは大切だと考えています。
少しでも参考になれば幸いです。

またtwitterではQiitaにはアップしていない技術や考え方もアップしていますので、
よければフォローして頂けると嬉しいです。
詳しくはこちら https://twitter.com/japwork

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0