misskey icon indicating copy to clipboard operation
misskey copied to clipboard

Node.jsの推奨バージョン上げるのやめてほしい

Open mattyatea opened this issue 2 years ago • 17 comments

Summary

このコミット でNode.jsのバージョンがv20でないと動かなくなるように変更されたように見えます。 node.jsはv18がLTSであり推奨バージョンでもあるので変更する必要はないのではないかと思います。(v20でしか使えない機能を使用する場合は別かもしれないけど) また、node.jsのバージョン変更はdockerなどのコンテナか、nvmなどのnode.jsのマネージャーを入れないと難しいなどの理由もあるので推奨バージョンを上げるのはやめていただきたいです。 以上です

mattyatea avatar Jul 07 '23 05:07 mattyatea

当然のことながらバージョンは新しい方がパフォーマンス的にも良いから変更する意義はある サポートには期限があるから遅かれ早かれ20に上げないといけないし、「これからLTSになるバージョン」と「今LTSのバージョン」の違いってそんなにあるのかな

syuilo avatar Jul 07 '23 05:07 syuilo

推奨バージョンを上げるのはやめていただきたい

それは無理

syuilo avatar Jul 07 '23 05:07 syuilo

何故無理なのかを教えていただきたい... 他にもLTS以外を本番環境で使用したくない(不安定になる可能性があるから)なども挙げられていますが....

mattyatea avatar Jul 07 '23 05:07 mattyatea

何故無理なのかを教えていただきたい...

  • サポートには期限がある
  • パフォーマンスを改善させる必要がある
  • 今後新しいバージョンにしかない機能を使う必要が出てくる

LTS以外を本番環境で使用したくない

「LTSになるバージョン」と「今LTSのバージョン」の違いはない気がしている

syuilo avatar Jul 07 '23 05:07 syuilo

「LTSになるバージョン」と「今LTSのバージョン」の違いはない気がしている

LTSになるってことはそれだけ品質が担保されたという証明になるので、十分違いあると思う。

EbiseLutica avatar Jul 07 '23 05:07 EbiseLutica

Node.jsは偶数バージョンは確実にこれからLTSになると決まってるしなあ

syuilo avatar Jul 07 '23 05:07 syuilo

この問題node18登場時も起こして村上さんにも怒られてたはずでは

204504bySE avatar Jul 07 '23 05:07 204504bySE

「長期的にサポートされるバージョンである(LTS)」ことではなく「安定しているバージョンである」ことを求めるのであればLTSかどうかを基準にして語らない方が誤解が少なくなる気がする 「これからLTSになるバージョン」はLTSとラベリングされていなくても「長期的にサポートされるバージョン」には変わりないから

syuilo avatar Jul 07 '23 05:07 syuilo

https://github.com/nodejs/Release https://www.tweeeety.blog/entry/2018/05/22/194312 たとえLTSになる(=偶数)バージョンであっても実際にLTSになるまでは、LTSにならないバージョン(=奇数)と同等に扱わなきゃいけない、すなわちそのバージョンを必須にしてはいけない。 …ってnodejs18登場時にも指摘されてたはずなんです。

204504bySE avatar Jul 07 '23 05:07 204504bySE

node-version以下のバージョンを使っていると起動できない仕様がおかしい気がする

syuilo avatar Jul 07 '23 05:07 syuilo

node-version以下のバージョンを使っていると起動できない仕様がおかしい気がする

推奨バージョンと最低バージョンを分けたい

syuilo avatar Jul 07 '23 05:07 syuilo

推奨バージョンと最低バージョンを分けたい

これ言おうと思ってたので賛成

EbiseLutica avatar Jul 07 '23 05:07 EbiseLutica

LTSだっていつかはアップデートしなければならないし、v20のリリースから2ヶ月経ったことだしv20に上げるのは不適切ではないと思う

node-version以下のバージョンを使っていると起動できない仕様がおかしい気がする

私もこれは謎に思ってるので今すぐnode-versionチェック外そうぜ

tamaina avatar Jul 07 '23 05:07 tamaina

node-version以下のバージョンを使っていると起動できない仕様がおかしい気がする 推奨バージョンと最低バージョンを分けたい

インストールとビルドは出来るのに起動時にバージョンチェックして落とす仕様は極めて不親切なので、 package.jsonのenginesに動作バージョン記載しておけばいいと思うのだわ。

mei23 avatar Jul 07 '23 05:07 mei23

私もこれは謎に思ってるので今すぐnode-versionチェック外そうぜ

これしゅいろが実装したのかと思ったけどそうじゃなかった…

tamaina avatar Jul 07 '23 06:07 tamaina

脱線だったらごめんなさい。

  • https://github.com/misskey-dev/misskey/pull/11157 このPRでdockleやFrontendのe2eがNGだったのはこのコミットに関連ありでしょうか😢

■dockle image

■frontend e2e image

mappi-pr avatar Jul 07 '23 06:07 mappi-pr

20.4.0は早すぎたかもしれない

syuilo avatar Jul 07 '23 06:07 syuilo

しゅいろさん曰く「13.14のリリースが近い可能性がある」らしいけど、最低バージョンの設定やnode-versionチェックの廃止をするならその前にやったほうがいい気がする

futchitwo avatar Jul 15 '23 04:07 futchitwo

しゅいろさん曰く「13.14のリリースが近い可能性がある」らしいけど、最低バージョンの設定やnode-versionチェックの廃止をするならその前にやったほうがいい気がする

https://github.com/misskey-dev/misskey/commit/383d6a24855177cc96a0732907255db4b45e9632 でやってました 確認不足すみません

futchitwo avatar Jul 15 '23 04:07 futchitwo

「LTSになるバージョン」と「今LTSのバージョン」の違いはない気がしている

Upcoming LTS (Node.js v20) はあくまで 開発途上のバージョン です. LTS とイコールにはなりません. 不具合が起きたりと不安定なバージョンであることを覚悟して使用する必要があるのでこの Node.js v20 を Misskey の推奨バージョンとして定めるのは不適切だと考えています. ( Misskey がどうしても Node.js v20 の新機能を使わないといけないのであれば定めてもいいとは思いますがそのような事態はなるべく避けるべきだと考えます. )

m1sk9 avatar Sep 09 '23 15:09 m1sk9

Ubuntuで例えるのであれば、22.04 (※現行のLTS) から23.10 (※開発途上のバージョン) にバージョンを上げて、「23.10は将来の24.04 (※将来のLTS)だから違いはない」と言っているようなものです。 これは運用が長くなるであろうソフトウェアのエンジン選択基準としては安定性を欠いたアップデートだと考えますのでNode.js 20がLTSになるまでの間はサポートするバージョンをNode.js 18にしていただきたいと存じます。

KisaragiEffective avatar Sep 09 '23 15:09 KisaragiEffective

@syuilo 明日Node 20がLTSになりますが、今後のNodeの必須バージョンに関する上げ方の方針などなにかコメントはありますか? 正直(今回に限りませんが)あなたの「コードさえ書ければダウンストリームはどうでもいい」と取れるような態度はエンドユーザーの観点から見ると非常に不愉快です。 元々はあなたのプロジェクトであることは重々承知ですが、今後はあなたのものだけではないことは念頭に入れていただきたいと思います。

KisaragiEffective avatar Oct 18 '23 09:10 KisaragiEffective

コードさえ書ければダウンストリームはどうでもいい

意味がよくわからなかった

syuilo avatar Oct 18 '23 09:10 syuilo

あなたはLTSを使いたいというサーバー管理者がいることを想定できずにLTSではない最新バージョンに(一時的とは言え)あげたのでこのようなツッコミのイシューが立っている訳ですが、それは認識できていますか? 認識できていないのであればサーバー管理者目線における考慮が欠如していたと(少なくとも私は)考えます。

KisaragiEffective avatar Oct 18 '23 09:10 KisaragiEffective

推奨バージョンと最低バージョンが分けられたことで解決されたことなのでクローズさせていただきます(忘れてた)

mattyatea avatar Oct 18 '23 09:10 mattyatea

なお、ダウンストリームというのは

  1. サーバー管理者
  2. エンドユーザー
  3. フォーク先
  4. サードパーティークライアントの開発者を指します。今回のイシューではout of scopeとなるため2-4は除きますが、依然問題が存在すると考えています。

KisaragiEffective avatar Oct 18 '23 09:10 KisaragiEffective

今後のNodeのバージョンアップについては常にLTSを選ぶということで良いでしょうか?

KisaragiEffective avatar Oct 18 '23 09:10 KisaragiEffective

正直(今回に限りませんが)あなたの「コードさえ書ければダウンストリームはどうでもいい」と取れるような態度はエンドユーザーの観点から見ると非常に不愉快です。

人格攻撃の場ではないのでやめましょう。

mendakon avatar Oct 18 '23 11:10 mendakon