write ahead log

ロールフォワード用

Rails5でcoffeescriptを途中から排除した時にハマったのでログ

個人でコツコツ触っているRailsですが, coffeescriptの扱いは困った感じでした.

最初はデフォルトという理由で頑張って勉強しようかと思ったのですが, もうjsもES2016とか2017とかも話題になっているし流石に良いかなと排除することに.

ところが消すのも以外と苦労したのでメモっておきます.

手順は以下でやりました.

  1. .coffeeのファイルを.jsへリネーム
  2. 中身をcoffeeからjsへ変更
  3. Gemfileのcoffee-railsをコメントアウト
  4. キャッシュを削除

以下1つずつ.

.coffeeのファイルを.jsへリネーム

これはコマンドですぐ終わります.

$ cd app/assets/javascripts
$ for nm in *.coffee; do
    git mv $nm ${nm%.coffee}.js;
done

中身をcoffeeからjsへ変更

これが恐らく一番面倒ですが, 今回はほとんどjsを書いていなかったのですぐ終わりました.

ただし, 中にはcoffeescriptのコメントだけのファイルがあったりして油断すると引っかかるので注意かも.

Gemfileのcoffee-railsをコメントアウト

これは消すだけです.

#gem 'coffee-rails', '~> 4.2'

これでgenerateコマンドでもjsを吐き出すようになります.

キャッシュを削除

ここまでやってもう大丈夫かなと思ったら以下のエラーが出てテストが通らなくなりました.

LoadError (cannot load such file -- coffee_script):

困ってたんですが, githubにissueがあったので救われています.

LoadError: cannot load such file -- coffee_script

以下のコマンドで解決できました.

bin/rake tmp:cache:clear

キャッシュが残るんですね.

gemも変えているのでサーバの再起動も忘れないように.