3
0

More than 3 years have passed since last update.

lazy_high_chartsを1.6.1にアップデートしたらCIが落ちるようになった

Last updated at Posted at 2020-08-08

Railsでlazy high chartsを使っていて、最近アップデートしようとしたら、エラーが出るようになって更新できなかったので、そのときに調べたことをまとめています。

気の早いお方へ

7/29以前からlazy_high_chartsを使っていて、アップデートしたら couldn't find file 'highcharts/highcharts' ...というエラーが出てあれー?ってなっている方はrake highcharts:updateをしてみてください。vendor/assets/javascripts/highcharts以下に最新のhighchartsがダウンロードされて使えるようになります。

詳細

CIでエラー

dependabotが更新のプルリクを作ってくれていたんですが、CIでエラーが出ていました。
couldn't find file 'highcharts/highcharts'と、highcharts

Failure/Error: //= require highcharts/highcharts

ActionView::Template::Error:
  couldn't find file 'highcharts/highcharts' with type 'application/javascript'
  Checked in these paths: 
    /home/circleci/repo/app/assets/config
    /home/circleci/repo/app/assets/images
    /home/circleci/repo/app/assets/javascripts
    /home/circleci/repo/app/assets/stylesheets
      :
      :

調査

地道に前回インストールしたバージョンのコミットからの差分を見ました。
大変そうですが、実は5個しかみてません。
普段から最新のgemを使うようにしていて、ホントよかったです!

それで見つけたのがこのコミットです。

内容は「gemにjsのソースをバンドルすると、本家がアップデートするたびにgemのバージョンもあげなきゃいけなくて大変だと思うので、別途利用者が個別にインストールする形をとったらどうでしょう?」というもので、最新のhighchartsを取得するrakeタスクの追加と、gem内部のjsの削除がされていました。

その後、よくよく見るとREADME.mdのインストール手順にrakeタスクの実行が追加されていました。

highchartsのインストールで解決

追加されたインストール手順のrake highcharts:updateを実行すると、無事にhighchartsをインストールできました。場所はvendor/assets/javascripts/highchartsです。

利用しているページでグラフが表示されていることを確認して、問題ないことがわかりました。

リポジトリに登録して、解決しました。

懸念事項

今までlazy_high_chartsのアップデートでhighchartsの更新が行われていたわけですが…これが自分たちでやらなくてはならなくなってしまいました…。

どうやって忘れないようにしよう…。

おわりに

sprocketsからwebpackerに移行したいです…!
そしたらアップデート作業をdependabotに頼めるので。

あとは…README.mdのblame見ればよかった。
ちゃんとREADME.mdも更新されていたので、コミットログでなくて、こちらを見たらもっと楽だったと思いました…。

image.png

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