Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
mattyatea opened this issue Jul 7, 2023 · 28 comments
Closed

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

mattyatea opened this issue Jul 7, 2023 · 28 comments
Labels
✨Feature This adds/improves/enhances a feature

Comments

@mattyatea
Copy link
Member

mattyatea commented Jul 7, 2023

Summary

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

@mattyatea mattyatea added the ✨Feature This adds/improves/enhances a feature label Jul 7, 2023
@syuilo
Copy link
Member

syuilo commented Jul 7, 2023

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

@syuilo
Copy link
Member

syuilo commented Jul 7, 2023

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

それは無理

@mattyatea
Copy link
Member Author

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

@syuilo
Copy link
Member

syuilo commented Jul 7, 2023

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

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

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

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

@EbiseLutica
Copy link
Contributor

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

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

@syuilo
Copy link
Member

syuilo commented Jul 7, 2023

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

@204504bySE
Copy link

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

@syuilo
Copy link
Member

syuilo commented Jul 7, 2023

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

@204504bySE
Copy link

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

@syuilo
Copy link
Member

syuilo commented Jul 7, 2023

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

@syuilo
Copy link
Member

syuilo commented Jul 7, 2023

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

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

@EbiseLutica
Copy link
Contributor

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

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

@tamaina
Copy link
Contributor

tamaina commented Jul 7, 2023

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

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

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

@mei23
Copy link
Contributor

mei23 commented Jul 7, 2023

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

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

@tamaina
Copy link
Contributor

tamaina commented Jul 7, 2023

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

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

@mappi-pr
Copy link
Contributor

mappi-pr commented Jul 7, 2023

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

■dockle
image

■frontend e2e
image

@syuilo
Copy link
Member

syuilo commented Jul 7, 2023

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

@futchitwo

This comment was marked as resolved.

@futchitwo
Copy link
Contributor

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

383d6a2 でやってました 確認不足すみません

@m1sk9
Copy link

m1sk9 commented Sep 9, 2023

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

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

@KisaragiEffective
Copy link
Collaborator

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

@KisaragiEffective
Copy link
Collaborator

KisaragiEffective commented Oct 18, 2023

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

@syuilo
Copy link
Member

syuilo commented Oct 18, 2023

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

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

@KisaragiEffective
Copy link
Collaborator

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

@mattyatea
Copy link
Member Author

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

@KisaragiEffective
Copy link
Collaborator

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

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

@KisaragiEffective
Copy link
Collaborator

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

@mendakon
Copy link

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

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

@misskey-dev misskey-dev locked as too heated and limited conversation to collaborators Oct 18, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
✨Feature This adds/improves/enhances a feature
Projects
None yet
Development

No branches or pull requests