ヨージとプログラミング

プログラミング勉強の記録

【Rails5】途中でCoffeeScriptを排除するときのherokuでの対応方法

herokuでどのように対応すればいいか書いてある記事が少なかったのでメモがてら

はじめから排除する場合はかんたん

おなじみですが

$ rails new --skip-coffee

途中からの場合

開発環境では

  1. Gemのcoffeescriptコメントアウト

     # Use CoffeeScript for .coffee assets and views
     # gem 'coffee-rails', '~> 4.2'
    
  2. config>application.rb にjsエンジンを指定

     class Application < Rails::Application
       config.generators.javascript_engine = :js
     end
    
  3. $ docker-compose run web bundle install

  4. .coffeeファイルを削除
  5. railsのキャッシュをクリア

     $ docker-compose run web rails tmp:cache:clear
    
  6. docker再ビルド

     $ docker-compose build
    

herokuでの対応方法

何もしないままgit push heorkuするとコンパイルエラーになっていまいます。

$ git push heroku
=>
          (中略)
remote:        rake aborted!
remote:        LoadError: cannot load such file -- coffee_script
          (中略)
remote:  !
remote:  !     Precompiling assets failed.
remote:  !
  1. herokuのキャッシュを削除するためにheroku-repoを導入

     $ heroku plugins:install heroku-repo
    
     => Installing plugin heroku-repo... installed v1.0.13
    
  2. repoでキャッシュを削除

      $ heroku repo:purge_cache -a [アプリ名]
    
  3. herokuにpushする
    キャッシュを削除したのでいつもよりやや時間がかかります。