Node.jsのバージョン

初回公開:2018/09/09
最終更新:未

Node.jsの正式リリース版にはCURRENT、ACTIVE LTS、MAINTENANCEの3つのステータスが存在します。それぞれ、CURRENT=最新版、ACTIVE LTS=長期サポート対象期間、MAINTENANCE=最低限のサポート期間という感じでしょうか。

Node.jsの正式リリース版には

CURRENT=最新版
ACTIVE LTS=長期サポート対象期間
MAINTENANCE=最低限のサポート期間

LTSとは

LTSは、Long-term Supportの略で、長期の保守運用が約束されたバージョンです

CURRENTとは

CURRENTは、最新版だけど安定性を約束しないことで機能追加を盛り込んだバージョンです

「ステータスはメジャーバージョンで決まる。」という分け方もあって 「安定版と開発版」と「node バージョン 偶数 奇数」との関係は

Node.jsのバージョン番号は、奇数が開発版で、偶数が安定版になってるようです。

LTS = Long Term Support = 長期サポート
奇数:開発版は新機能を盛り込むチャレンジングなバージョン。人柱向け
偶数:安定版は安全な枯れたバージョン → LTS。実務向け

Node.jsから「io.js」が分離してさらにNode.jsに再統合された歴史もバージョンの付け方に影響。

Node.jsは12カ月ごとに偶数バージョンの長期サポート対象リリース(LTS:Long Term Support)が登場することになっており、今回リリースされたNode.js 10も半年後の10月から2年半、長期サポート対象のバージョンとなります。
と同時にこの4月末で、2年半前に登場したNode.js 4.xの長期サポートが終了(EOL:End-of-Life)しました。
...
Node.jsの開発者たちが分裂してNode.jsとio.jsの2つに分かれた後に再び両者が統合し、統一組織であるNode Foundationを結成して初めてリリースされたLTSです。

EOL->長期サポートが終了(EOL:End-of-Life)

メジャーバージョンが奇数が開発版で、 偶数が長期サポート対象のバージョン。

そして、偶数バージョンの、 CURRENT(最新版)が安定するとLTSに、LTSが古くなって新しいLTSが出てくると、古いLTSがMAINTENANCE版に移行するという事かな。

node N-API

Node.jsはJavaScriptエンジンとしてV8を採用し、V8に依存した実装になっていました。これをAPIを策定することで切り離し、JavaScriptエンジンをプラガブルにしたのがN-APIです。

これによってV8がメジャーバージョンアップしたとしてもNode.js側で再コンパイルなどをすることなく組み込むことができるようになっただけでなく、V8以外のJavaScriptエンジン、例えばマイクロソフトが開発しているChakraCoreなども利用できるようになります。

Node.jsからのFork

io.jsは結局、Node.jsと再統合

Node.jsのForkです。次のNode.jsの安定版になる、v0.12をForkしています。

io.jsの目的は何なの?
安定したリリーススケジュールを提供することと、オープンガバナンスによる透明性を確保することにより、他の開発者からコントリビュートをしやすくするのが目的です。後述しますが、今のNode.jsの一番の問題点は安定したリリーススケジュールが確保できていないことにあります。これを解決する道を模索した結果が今のio.jsなわけです。

Ayo.jsというForkも


メジャーバージョン マイナーバージョン

参考までに、
ソフトウェアーのバージョンの呼び方にもいろいろあって

バージョン beta pr

ページのトップへ戻る