2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

運用してるサービスのNode.jsバージョンをアップデートするまでの道のり

Last updated at Posted at 2022-12-20

現在の状況

現在運用中のサービスのNode.jsバージョンが(かなり)古いため、
それをアップデートしないとそろそろやばいのでは?から始めました。(いって現在運用中のサービスに関しては、スタイルのビルドぐらいしか使ってなかったのでずっとメンテナンスsれてなかったのです・・)
現在のLTSがv16だったので、
Node.jsリリース一覧
まずはv16系にアップデートすることになりました。

問題

ただバージョンあげました、わーい:tada:で終わる話でしたらすごく良かったのですが、
すぐさま壁にぶつかってしまいました・・
現在使ってるパッケージのバージョンも一緒にあげないといけないので、Node.jsのバージョンを上げると同時にパッケージのバージョンも全てチェックしないといけなかったわけです。

今回はその中でもネックだったものを紹介したいと思います。

  • gulp
    現在のサービスのスタイルのビルドの時使っていて、ずっと使っていたバージョンがv3.9.1であり、gulpって3と4で色々差があり、文法はもちろんバージョン3までがNode.js11までしか使えず、それ以上のバージョンにするにはNode.js12以上が必要だったため、まずはgulpを4にしないといけなかったです。

ここで少しグチになっちゃいますが、現在担当してるサービスのフロントは自分一人だったので、通常業務を行いながらこちらまでカバーすることがとても難しくずっと後回しにされてました。それが全社的にバージョンアップデートをちゃんとしよう!という流れを作ってやっと着手することになりました。

諸論が長かったのですが、gulpの4に合わせてgulpfile.jsの文法を直しました。
主に違うところはgulp.taskgulp.watchの書き方です。

gulp.task

gulpfile_v3.js
gulp.task('css-minlib', ['css-conclib'], function() {
gulpfile_v4.js
gulp.task('css-minlib', gulp.series('css-conclib', function(){

gulp.watch

gulpfile_v3.js
gulp.watch('css/sp/common.css', ['css-min']);
gulpfile_v4.js
gulp.watch('css/sp/common.css', gulp.task('css-min'));

これだけです笑
これがなぜか昔一回チャレンジした時にうまく行かず、放置状態でしたけど
いざちゃんと取り組んだら30分もかからずびっくりでした。

これでgulp4を導入して動かしたところ、綺麗に回ってくれました。パチパチ:clap_tone1:

残りの作業

でNode.js v16に無事切り替えられたかと言われるとそれがまだ・・:sweat:な状態です。
色々理由はありますが早くアップデートを終わらせたい気持ちでいっぱいいっぱいです笑
そもそもv16が2023年の9月でサポート切れるということで、もうv18にした方がいいのでは・・?とも思ってるところです。

その時にはまたv18でパッケージが動かない可能性もあるので要チェックですね。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?