LoginSignup
0
0

More than 3 years have passed since last update.

railsアプリのデプロイエラーの原因が、gemのuglifierのバージョンに依るものだった話

Posted at

railsアプリのデプロイがこけたので、その原因を追求してみた。

デプロイ時のエラーメッセージを読むと、以下の様なメッセージが頻出していた。

Caused by:
V8::Error: SyntaxError: Unexpected token: name (jsの変数名)
at js_error (<eval>:3623:12167)
at croak (<eval>:3623:22038)
at token_error (<eval>:3623:22175)
at unexpected (<eval>:3623:22263)
at semicolon (<eval>:3623:22781)
at simple_statement (<eval>:3623:25959)
at <eval>:3623:23747
at <eval>:3623:22954
at block_ (<eval>:3623:28083)
at ctor.body (<eval>:3623:27686)
at function_ (<eval>:3623:27782)
at <eval>:3623:24469
at <eval>:3623:22954
at block_ (<eval>:3623:28083)
at <eval>:3623:23857
at <eval>:3623:22954
at <eval>:3624:3759
at parse (<eval>:3624:3999)
at parse (<eval>:3958:22)
at uglifier (<eval>:4003:13)

下記の記事で、jsでletを使用している場合varに変更すると良い、というアドバイスがあったので、変更してみた結果、デプロイ成功。
どうやら、gemのuglifierのバージョンが足りず、ES6をサポートしていなかったため、letという新しい書き方を許容していなかったため、エラーが起きたらしい。
https://stackoverflow.com/questions/39221152/rails-5-heroku-deploy-error-execjsprogramerror-syntaxerror-unexpected-token

尚、ES6の書き方を許容するのはUglifier 3.2.0以降からだそう。

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