LoginSignup
5
5

More than 3 years have passed since last update.

Uglifier::Error: Unexpected character '`' Herokuデプロイ時のエラー解消方法

Posted at

はじめに

今年の1月末からプログラミングの学習を開始したばかりの初心者です。
今回作成した個人アプリをHerokuでデプロイしてみたのですが、途中で発生したエラー解決について自分用の備忘録として初投稿してみました。

※今回はあくまで発生したエラーの解消法のみをシンプルにまとめています。
Herokuでのデプロイ方法については参考にした記事を最下部に貼っているので気になる方はそちらをご確認ください。

※開発環境
・Ruby 2.5.1
・Rails 5.2.4.2
・heroku/7.39.2 darwin-x64 node-v12.13.0

エラー内容


Herokuでデプロイ中に以下のようなエラー文言が表示されデプロイに失敗しました。

ターミナル
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 (設定したアプリ名).
remote: 
To https://git.heroku.com/(設定したアプリ名).git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/(設定したアプリ名).git'

ターミナルを遡って見てみると、エラー原因について以下のような記述が。

ターミナル
remote:        rake aborted!
remote:        Uglifier::Error: Unexpected character '`'
remote:        --

エラー文言からバックフォート(`)がunexpectedだからダメだよ〜となっているんだなという事は何となく理解したものの、じゃあどうしたら良いのかは分からないので調べてみました。
(ちなみに自分はapp/assets/javascriptのファイル内でバックフォートを使った記述をしていました。)

解決方法


config/environments/production.rb内にある以下の記述をコメントアウトしてあげればOKでした。

production.rb
# config.assets.js_compressor = :uglifier     #この一文をコメントアウト

コメントアウトした後はGithubでコミット&プッシュをしてmasterに反映させます。
GitHub Desktopを使用している場合は、changeに変更内容が上がっていると思うのでコミット&プッシュ。

ターミナル上でコマンドを打つ場合は以下のように行う。
①コミットするchange(ファイル)の選択

ターミナル
$git add -A  #コミットするchangeの選択。 -Aは全部ということ

②選択したファイルのコミット&プッシュ

ターミナル
$git commit -m "コミットメッセージ"  #""内には変更内容が分かるメッセージを入力

これでmasterに変更が反映されたので、改めてHerokuにデプロイします。
以下のように表示され、無事にデプロイが完了しました!

ターミナル
remote: Verifying deploy... done.
To https://git.heroku.com/(設定したアプリ名).git
 * [new branch]      master -> master

最後に


production.rbファイルを変更した後、コミット&プッシュを忘れない!
初めこれをする前に再度デプロイをしてしまって全く同じエラーが出ました。。:sweat:

参考記事

Herokuでのデプロイ方法はこちらの記事を参考にさせてもらいました。
【初心者向け】railsアプリをherokuを使って確実にデプロイする方法【決定版】

エラー解決時に参考にさせていただいた記事

5
5
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
5
5