LoginSignup
2
0

More than 3 years have passed since last update.

HerokuでのデプロイでPrecompiling assets failed.が出たときの対処法

Last updated at Posted at 2020-04-25

初めてHerokuでデプロイを行なったらPrecompiling assets failed.というエラーが出てきてしまったので備忘録として投稿します。こちらのエラー、原因は色々あるみたいですので、下記の解決法が全てではありません。

開発環境

MacOS 10.15.4
Ruby 2.5.1
Rails 5.2.3

最初に

エラーは目立つ部分が全てではない!!

remote:  !     Precompiling assets failed.

こちらの一文は赤字で目立ちますが、実は大事な部分がターミナルをさかのぼると出てきます。

エラー1

さかのぼるとこの様なエラーが出てきました。

NoMethodError: undefined method `[]' for nil:NilClass

[]を見て思い出しました!!
環境変数セットしてなかった...
私はcredentials.yml.encを使っていたので、下記のコードで環境変数を設定致しました。

$ heroku config:set RAILS_MASTER_KEY=`cat config/master.key`

デプロイします。

$ git push heroku master

エラー2

上記で環境変数をセットしたにもかかわらず、またしてもPrecompiling assets failed.が出現しました。
ターミナルをさかのぼります。
エラー文が変わっている!!先ほどのエラーは解決できた様です。

続いてはこちら

Uglifier::Error: Unexpected token: name (任意の内容). 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/environments/production.rb

config.assets.js_compressor = :uglifier #削除
config.assets.js_compressor = Uglifier.new(harmony: true) #追加

gitに変更を上げて、再度

$ git push heroku master

無事デプロイできました!!

最後に

冒頭にも書きましたが、こちらのエラーはターミナルをさかのぼるとエラー内容が分かりますので、まずはそちらのエラー内容でググってみてください!

参考

https://teratail.com/questions/163759
https://qiita.com/terufumi1122/items/27bf288414569e13e050

2
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
2
0