LoginSignup
9
7

More than 5 years have passed since last update.

capistranoでRailsアプリをdeployした時のエラー ♯プリコンパイル編

Last updated at Posted at 2019-03-24

capistranoでRailsアプリをdeployしたらエラーが発生したので、その解決方法を備忘録として記述します。
初歩的な内容なのに解決するのにえらい時間がかかった。。。

実行したこと

ローカル環境で bundle exec cap production deploy を実行した。

エラー発生

deploy:assets:precompile
 01 $HOME/.rbenv/bin/rbenv exec bundle exec rake assets:precompile
 01 rake aborted!
 01 Uglifier::Error: Unexpected character '`'
(後略)

エラー内容詳細


・エラー文

Uglifier::Error: Unexpected character '`'

・デプロイ実行内容

アセットファイルをプリコンパイルした。
人間仕様のソースコードをコンパイラが理解できるように書き直す作業です。
※ちなみにデフォルトで書き直されるアセットファイルは、app/assetsディレクトリの、.jsと.css以外のファイルみたい。ただし、application.jsとapplication.cssはコンパイルされるとのこと。

・エラー内容

JavaScriptコード軽量化GemのUglifierがエラーを起こしている。
'`(バッククォート)'ってなんですか〜?って感じでしょうか。

・原因

今回はjsファイルでテンプレートリテラル記法を採用しており、ここで'`(バッククォート)'を使っているためエラーが発生していた。
要はテンプレートリテラル記法は比較的新しい記法のため、デプロイする際にエラーになる。

解決方法

config/environments/production.rb
config.assets.js_compressor = :uglifier
をコメントアウトしました。

だって、テンプレートリテラル便利だから使いたい。。。

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