Copyright OpenJS Foundation and Node.js contributors. All rights reserved. The OpenJS Foundation has registered trademarks and uses trademarks. For a list of trademarks of the OpenJS Foundation, please see our Trademark Policy and Trademark List. Trademarks and logos not indicated on the list of OpenJS Foundation trademarks are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
The OpenJS Foundation | Terms of Use | Privacy Policy | Bylaws | Code of Conduct | Trademark Policy | Trademark List | Cookie Policy
Node.js
Node.js is an open-source, cross-platform JavaScript runtime environment.
For information on using Node.js, see the Node.js website.
The Node.js project uses an open governance model. The
OpenJS Foundation provides support for the project.
Contributors are expected to act in a collaborative manner to move
the project forward. We encourage the constructive exchange of contrary
opinions and compromise. The TSC
reserves the right to limit or block contributors who repeatedly act in ways
that discourage, exhaust, or otherwise negatively affect other participants.
This project has a Code of Conduct.
Table of contents
- Support
- Release types
- Download
- Current and LTS releases
- Nightly releases
- API documentation
- Verifying binaries
- Download
- Building Node.js
- Security
- Contributing to Node.js
- Current project team members
- TSC (Technical Steering Committee)
- Collaborators
- Triagers
- Release keys
- License
Support
Looking for help? Check out the
instructions for getting support.
Release types
- Current: Under active development. Code for the Current release is in the
branch for its major version number (for example,
v19.x). Node.js releases a new
major version every 6 months, allowing for breaking changes. This happens in
April and October every year. Releases appearing each October have a support
life of 8 months. Releases appearing each April convert to LTS (see below)
each October. - LTS: Releases that receive Long Term Support, with a focus on stability
and security. Every even-numbered major version will become an LTS release.
LTS releases receive 12 months of Active LTS support and a further 18 months
of Maintenance. LTS release lines have alphabetically-ordered code names,
beginning with v4 Argon. There are no breaking changes or feature additions,
except in some special circumstances. - Nightly: Code from the Current branch built every 24-hours when there are
changes. Use with caution.
Current and LTS releases follow semantic versioning. A
member of the Release Team signs each Current and LTS release.
For more information, see the
Release README.
Download
Binaries, installers, and source tarballs are available at
https://nodejs.org/en/download/.
Current and LTS releases
https://nodejs.org/download/release/
The latest directory is an
alias for the latest Current release. The latest-codename directory is an
alias for the latest release from an LTS line. For example, the
latest-hydrogen
directory contains the latest Hydrogen (Node.js 18) release.
Nightly releases
https://nodejs.org/download/nightly/
Each directory name and filename contains a date (in UTC) and the commit
SHA at the HEAD of the release.
API documentation
Documentation for the latest Current release is at https://nodejs.org/api/.
Version-specific documentation is available in each release directory in the
docs subdirectory. Version-specific documentation is also at
https://nodejs.org/download/docs/.
Verifying binaries
Download directories contain a SHASUMS256.txt
file with SHA checksums for the
files.
To download SHASUMS256.txt
using curl
:
curl -O https://nodejs.org/dist/vx.y.z/SHASUMS256.txt
To check that a downloaded file matches the checksum, run
it through sha256sum
with a command such as:
grep node-vx.y.z.tar.gz SHASUMS256.txt | sha256sum -c -
For Current and LTS, the GPG detached signature of SHASUMS256.txt
is in
SHASUMS256.txt.sig
. You can use it with gpg
to verify the integrity of
SHASUMS256.txt
. You will first need to import
the GPG keys of individuals authorized to create releases. To
import the keys:
gpg --keyserver hkps://keys.openpgp.org --recv-keys 4ED778F539E3634C779C87C6D7062848A1AB005C
See Release keys for a script to import active release keys.
Next, download the SHASUMS256.txt.sig
for the release:
curl -O https://nodejs.org/dist/vx.y.z/SHASUMS256.txt.sig
Then use gpg --verify SHASUMS256.txt.sig SHASUMS256.txt
to verify
the file’s signature.
Building Node.js
See BUILDING.md for instructions on how to build Node.js from
source and a list of supported platforms.
Security
For information on reporting security vulnerabilities in Node.js, see
SECURITY.md.
Contributing to Node.js
- Contributing to the project
- Working Groups
- Strategic initiatives
- Technical values and prioritization
Current project team members
For information about the governance of the Node.js project, see
GOVERNANCE.md.
TSC (Technical Steering Committee)
TSC voting members
- aduh95 —
Antoine du Hamel <duhamelantoine1995@gmail.com> (he/him) - anonrig —
Yagiz Nizipli <yagiz@nizipli.com> (he/him) - apapirovski —
Anatoli Papirovski <apapirovski@mac.com> (he/him) - benjamingr —
Benjamin Gruenbaum <benjamingr@gmail.com> - BridgeAR —
Ruben Bridgewater <ruben@bridgewater.de> (he/him) - cjihrig —
Colin Ihrig <cjihrig@gmail.com> (he/him) - danielleadams —
Danielle Adams <adamzdanielle@gmail.com> (she/her) - GeoffreyBooth —
Geoffrey Booth <webadmin@geoffreybooth.com> (he/him) - gireeshpunathil —
Gireesh Punathil <gpunathi@in.ibm.com> (he/him) - jasnell —
James M Snell <jasnell@gmail.com> (he/him) - joyeecheung —
Joyee Cheung <joyeec9h3@gmail.com> (she/her) - legendecas —
Chengzhong Wu <legendecas@gmail.com> (he/him) - mcollina —
Matteo Collina <matteo.collina@gmail.com> (he/him) - mhdawson —
Michael Dawson <midawson@redhat.com> (he/him) - MoLow —
Moshe Atlow <moshe@atlow.co.il> (he/him) - RafaelGSS —
Rafael Gonzaga <rafael.nunu@hotmail.com> (he/him) - RaisinTen —
Darshan Sen <raisinten@gmail.com> (he/him) - richardlau —
Richard Lau <rlau@redhat.com> - ronag —
Robert Nagy <ronagy@icloud.com> - ruyadorno —
Ruy Adorno <ruyadorno@google.com> (he/him) - targos —
Michaël Zasso <targos@protonmail.com> (he/him) - tniessen —
Tobias Nießen <tniessen@tnie.de> (he/him) - Trott —
Rich Trott <rtrott@gmail.com> (he/him)
TSC regular members
- BethGriggs —
Beth Griggs <bethanyngriggs@gmail.com> (she/her) - bnoordhuis —
Ben Noordhuis <info@bnoordhuis.nl> - ChALkeR —
Сковорода Никита Андреевич <chalkerx@gmail.com> (he/him) - codebytere —
Shelley Vohr <shelley.vohr@gmail.com> (she/her) - danbev —
Daniel Bevenius <daniel.bevenius@gmail.com> (he/him) - fhinkel —
Franziska Hinkelmann <franziska.hinkelmann@gmail.com> (she/her) - gabrielschulhof —
Gabriel Schulhof <gabrielschulhof@gmail.com> - mscdex —
Brian White <mscdex@mscdex.net> - MylesBorins —
Myles Borins <myles.borins@gmail.com> (he/him) - rvagg —
Rod Vagg <r@va.gg> - TimothyGu —
Tiancheng «Timothy» Gu <timothygu99@gmail.com> (he/him)
TSC emeriti members
TSC emeriti members
- addaleax —
Anna Henningsen <anna@addaleax.net> (she/her) - chrisdickinson —
Chris Dickinson <christopher.s.dickinson@gmail.com> - evanlucas —
Evan Lucas <evanlucas@me.com> (he/him) - Fishrock123 —
Jeremiah Senkpiel <fishrock123@rocketmail.com> (he/they) - gibfahn —
Gibson Fahnestock <gibfahn@gmail.com> (he/him) - indutny —
Fedor Indutny <fedor@indutny.com> - isaacs —
Isaac Z. Schlueter <i@izs.me> - joshgav —
Josh Gavant <josh.gavant@outlook.com> - mmarchini —
Mary Marchini <oss@mmarchini.me> (she/her) - nebrius —
Bryan Hughes <bryan@nebri.us> - ofrobots —
Ali Ijaz Sheikh <ofrobots@google.com> (he/him) - orangemocha —
Alexis Campailla <orangemocha@nodejs.org> - piscisaureus —
Bert Belder <bertbelder@gmail.com> - sam-github —
Sam Roberts <vieuxtech@gmail.com> - shigeki —
Shigeki Ohtsu <ohtsu@ohtsu.org> (he/him) - thefourtheye —
Sakthipriyan Vairamani <thechargingvolcano@gmail.com> (he/him) - trevnorris —
Trevor Norris <trev.norris@gmail.com>
Collaborators
- addaleax —
Anna Henningsen <anna@addaleax.net> (she/her) - aduh95 —
Antoine du Hamel <duhamelantoine1995@gmail.com> (he/him) - anonrig —
Yagiz Nizipli <yagiz@nizipli.com> (he/him) - antsmartian —
Anto Aravinth <anto.aravinth.cse@gmail.com> (he/him) - apapirovski —
Anatoli Papirovski <apapirovski@mac.com> (he/him) - AshCripps —
Ash Cripps <email@ashleycripps.co.uk> - atlowChemi —
Chemi Atlow <chemi@atlow.co.il> (he/him) - Ayase-252 —
Qingyu Deng <i@ayase-lab.com> - bengl —
Bryan English <bryan@bryanenglish.com> (he/him) - benjamingr —
Benjamin Gruenbaum <benjamingr@gmail.com> - BethGriggs —
Beth Griggs <bethanyngriggs@gmail.com> (she/her) - bmeck —
Bradley Farias <bradley.meck@gmail.com> - bnb —
Tierney Cyren <hello@bnb.im> (they/them) - bnoordhuis —
Ben Noordhuis <info@bnoordhuis.nl> - BridgeAR —
Ruben Bridgewater <ruben@bridgewater.de> (he/him) - cclauss —
Christian Clauss <cclauss@me.com> (he/him) - ChALkeR —
Сковорода Никита Андреевич <chalkerx@gmail.com> (he/him) - cjihrig —
Colin Ihrig <cjihrig@gmail.com> (he/him) - codebytere —
Shelley Vohr <shelley.vohr@gmail.com> (she/her) - cola119 —
Kohei Ueno <kohei.ueno119@gmail.com> (he/him) - daeyeon —
Daeyeon Jeong <daeyeon.dev@gmail.com> (he/him) - danbev —
Daniel Bevenius <daniel.bevenius@gmail.com> (he/him) - danielleadams —
Danielle Adams <adamzdanielle@gmail.com> (she/her) - debadree25 —
Debadree Chatterjee <debadree333@gmail.com> (he/him) - deokjinkim —
Deokjin Kim <deokjin81.kim@gmail.com> (he/him) - devnexen —
David Carlier <devnexen@gmail.com> - devsnek —
Gus Caplan <me@gus.host> (they/them) - edsadr —
Adrian Estrada <edsadr@gmail.com> (he/him) - erickwendel —
Erick Wendel <erick.workspace@gmail.com> (he/him) - fhinkel —
Franziska Hinkelmann <franziska.hinkelmann@gmail.com> (she/her) - F3n67u —
Feng Yu <F3n67u@outlook.com> (he/him) - Flarna —
Gerhard Stöbich <deb2001-github@yahoo.de> (he/they) - gabrielschulhof —
Gabriel Schulhof <gabrielschulhof@gmail.com> - gengjiawen —
Jiawen Geng <technicalcute@gmail.com> - GeoffreyBooth —
Geoffrey Booth <webadmin@geoffreybooth.com> (he/him) - gireeshpunathil —
Gireesh Punathil <gpunathi@in.ibm.com> (he/him) - guybedford —
Guy Bedford <guybedford@gmail.com> (he/him) - HarshithaKP —
Harshitha K P <harshitha014@gmail.com> (she/her) - himself65 —
Zeyu «Alex» Yang <himself65@outlook.com> (he/him) - iansu —
Ian Sutherland <ian@iansutherland.ca> - JacksonTian —
Jackson Tian <shyvo1987@gmail.com> - JakobJingleheimer —
Jacob Smith <jacob@frende.me> (he/him) - jasnell —
James M Snell <jasnell@gmail.com> (he/him) - jkrems —
Jan Krems <jan.krems@gmail.com> (he/him) - joesepi —
Joe Sepi <sepi@joesepi.com> (he/him) - joyeecheung —
Joyee Cheung <joyeec9h3@gmail.com> (she/her) - juanarbol —
Juan José Arboleda <soyjuanarbol@gmail.com> (he/him) - JungMinu —
Minwoo Jung <nodecorelab@gmail.com> (he/him) - KhafraDev —
Matthew Aitken <maitken033380023@gmail.com> (he/him) - kuriyosh —
Yoshiki Kurihara <yosyos0306@gmail.com> (he/him) - kvakil —
Keyhan Vakil <kvakil@sylph.kvakil.me> - legendecas —
Chengzhong Wu <legendecas@gmail.com> (he/him) - linkgoron —
Nitzan Uziely <linkgoron@gmail.com> - LiviaMedeiros —
LiviaMedeiros <livia@cirno.name> - lpinca —
Luigi Pinca <luigipinca@gmail.com> (he/him) - lukekarrys —
Luke Karrys <luke@lukekarrys.com> (he/him) - Lxxyx —
Zijian Liu <lxxyxzj@gmail.com> (he/him) - marco-ippolito —
Marco Ippolito <marcoippolito54@gmail.com> (he/him) - marsonya —
Akhil Marsonya <akhil.marsonya27@gmail.com> (he/him) - mcollina —
Matteo Collina <matteo.collina@gmail.com> (he/him) - meixg —
Xuguang Mei <meixuguang@gmail.com> (he/him) - Mesteery —
Mestery <mestery@protonmail.com> (he/him) - mhdawson —
Michael Dawson <midawson@redhat.com> (he/him) - miladfarca —
Milad Fa <mfarazma@redhat.com> (he/him) - mildsunrise —
Alba Mendez <me@alba.sh> (she/her) - MoLow —
Moshe Atlow <moshe@atlow.co.il> (he/him) - mscdex —
Brian White <mscdex@mscdex.net> - MylesBorins —
Myles Borins <myles.borins@gmail.com> (he/him) - ovflowd —
Claudio Wunder <cwunder@gnome.org> (he/they) - oyyd —
Ouyang Yadong <oyydoibh@gmail.com> (he/him) - panva —
Filip Skokan <panva.ip@gmail.com> (he/him) - Qard —
Stephen Belanger <admin@stephenbelanger.com> (he/him) - RafaelGSS —
Rafael Gonzaga <rafael.nunu@hotmail.com> (he/him) - RaisinTen —
Darshan Sen <raisinten@gmail.com> (he/him) - rluvaton —
Raz Luvaton <rluvaton@gmail.com> (he/him) - richardlau —
Richard Lau <rlau@redhat.com> - rickyes —
Ricky Zhou <0x19951125@gmail.com> (he/him) - ronag —
Robert Nagy <ronagy@icloud.com> - ruyadorno —
Ruy Adorno <ruyadorno@google.com> (he/him) - rvagg —
Rod Vagg <rod@vagg.org> - ryzokuken —
Ujjwal Sharma <ryzokuken@disroot.org> (he/him) - santigimeno —
Santiago Gimeno <santiago.gimeno@gmail.com> - shisama —
Masashi Hirano <shisama07@gmail.com> (he/him) - ShogunPanda —
Paolo Insogna <paolo@cowtech.it> (he/him) - srl295 —
Steven R Loomis <srl295@gmail.com> - sxa —
Stewart X Addison <sxa@redhat.com> (he/him) - targos —
Michaël Zasso <targos@protonmail.com> (he/him) - theanarkh —
theanarkh <theratliter@gmail.com> (he/him) - TimothyGu —
Tiancheng «Timothy» Gu <timothygu99@gmail.com> (he/him) - tniessen —
Tobias Nießen <tniessen@tnie.de> (he/him) - trivikr —
Trivikram Kamat <trivikr.dev@gmail.com> - Trott —
Rich Trott <rtrott@gmail.com> (he/him) - vdeturckheim —
Vladimir de Turckheim <vlad2t@hotmail.com> (he/him) - vmoroz —
Vladimir Morozov <vmorozov@microsoft.com> (he/him) - VoltrexKeyva —
Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com> (he/him) - watilde —
Daijiro Wachi <daijiro.wachi@gmail.com> (he/him) - XadillaX —
Khaidi Chu <i@2333.moe> (he/him) - yashLadha —
Yash Ladha <yash@yashladha.in> (he/him) - ZYSzys —
Yongsheng Zhang <zyszys98@gmail.com> (he/him)
Emeriti
Collaborator emeriti
- ak239 —
Aleksei Koziatinskii <ak239spb@gmail.com> - andrasq —
Andras <andras@kinvey.com> - AnnaMag —
Anna M. Kedzierska <anna.m.kedzierska@gmail.com> - AndreasMadsen —
Andreas Madsen <amwebdk@gmail.com> (he/him) - aqrln —
Alexey Orlenko <eaglexrlnk@gmail.com> (he/him) - bcoe —
Ben Coe <bencoe@gmail.com> (he/him) - bmeurer —
Benedikt Meurer <benedikt.meurer@gmail.com> - boneskull —
Christopher Hiller <boneskull@boneskull.com> (he/him) - brendanashworth —
Brendan Ashworth <brendan.ashworth@me.com> - bzoz —
Bartosz Sosnowski <bartosz@janeasystems.com> - calvinmetcalf —
Calvin Metcalf <calvin.metcalf@gmail.com> - chrisdickinson —
Chris Dickinson <christopher.s.dickinson@gmail.com> - claudiorodriguez —
Claudio Rodriguez <cjrodr@yahoo.com> - DavidCai1993 —
David Cai <davidcai1993@yahoo.com> (he/him) - davisjam —
Jamie Davis <davisjam@vt.edu> (he/him) - digitalinfinity —
Hitesh Kanwathirtha <digitalinfinity@gmail.com> (he/him) - dmabupt —
Xu Meng <dmabupt@gmail.com> (he/him) - dnlup
dnlup <dnlup.dev@gmail.com> - eljefedelrodeodeljefe —
Robert Jefe Lindstaedt <robert.lindstaedt@gmail.com> - estliberitas —
Alexander Makarenko <estliberitas@gmail.com> - eugeneo —
Eugene Ostroukhov <eostroukhov@google.com> - evanlucas —
Evan Lucas <evanlucas@me.com> (he/him) - firedfox —
Daniel Wang <wangyang0123@gmail.com> - Fishrock123 —
Jeremiah Senkpiel <fishrock123@rocketmail.com> (he/they) - gdams —
George Adams <gadams@microsoft.com> (he/him) - geek —
Wyatt Preul <wpreul@gmail.com> - gibfahn —
Gibson Fahnestock <gibfahn@gmail.com> (he/him) - glentiki —
Glen Keane <glenkeane.94@gmail.com> (he/him) - hashseed —
Yang Guo <yangguo@chromium.org> (he/him) - hiroppy —
Yuta Hiroto <hello@hiroppy.me> (he/him) - iarna —
Rebecca Turner <me@re-becca.org> - imran-iq —
Imran Iqbal <imran@imraniqbal.org> - imyller —
Ilkka Myller <ilkka.myller@nodefield.com> - indutny —
Fedor Indutny <fedor@indutny.com> - isaacs —
Isaac Z. Schlueter <i@izs.me> - italoacasas —
Italo A. Casas <me@italoacasas.com> (he/him) - jasongin —
Jason Ginchereau <jasongin@microsoft.com> - jbergstroem —
Johan Bergström <bugs@bergstroem.nu> - jdalton —
John-David Dalton <john.david.dalton@gmail.com> - jhamhader —
Yuval Brik <yuval@brik.org.il> - joaocgreis —
João Reis <reis@janeasystems.com> - joshgav —
Josh Gavant <josh.gavant@outlook.com> - julianduque —
Julian Duque <julianduquej@gmail.com> (he/him) - kfarnung —
Kyle Farnung <kfarnung@microsoft.com> (he/him) - kunalspathak —
Kunal Pathak <kunal.pathak@microsoft.com> - lance —
Lance Ball <lball@redhat.com> (he/him) - Leko —
Shingo Inoue <leko.noor@gmail.com> (he/him) - lucamaraschi —
Luca Maraschi <luca.maraschi@gmail.com> (he/him) - lundibundi —
Denys Otrishko <shishugi@gmail.com> (he/him) - lxe —
Aleksey Smolenchuk <lxe@lxe.co> - maclover7 —
Jon Moss <me@jonathanmoss.me> (he/him) - mafintosh —
Mathias Buus <mathiasbuus@gmail.com> (he/him) - matthewloring —
Matthew Loring <mattloring@google.com> - micnic —
Nicu Micleușanu <micnic90@gmail.com> (he/him) - mikeal —
Mikeal Rogers <mikeal.rogers@gmail.com> - misterdjules —
Julien Gilli <jgilli@netflix.com> - mmarchini —
Mary Marchini <oss@mmarchini.me> (she/her) - monsanto —
Christopher Monsanto <chris@monsan.to> - MoonBall —
Chen Gang <gangc.cxy@foxmail.com> - not-an-aardvark —
Teddy Katz <teddy.katz@gmail.com> (he/him) - ofrobots —
Ali Ijaz Sheikh <ofrobots@google.com> (he/him) - Olegas —
Oleg Elifantiev <oleg@elifantiev.ru> - orangemocha —
Alexis Campailla <orangemocha@nodejs.org> - othiym23 —
Forrest L Norvell <ogd@aoaioxxysz.net> (they/them/themself) - petkaantonov —
Petka Antonov <petka_antonov@hotmail.com> - phillipj —
Phillip Johnsen <johphi@gmail.com> - piscisaureus —
Bert Belder <bertbelder@gmail.com> - pmq20 —
Minqi Pan <pmq2001@gmail.com> - PoojaDurgad —
Pooja D P <Pooja.D.P@ibm.com> (she/her) - princejwesley —
Prince John Wesley <princejohnwesley@gmail.com> - psmarshall —
Peter Marshall <petermarshall@chromium.org> (he/him) - puzpuzpuz —
Andrey Pechkurov <apechkurov@gmail.com> (he/him) - refack —
Refael Ackermann (רפאל פלחי) <refack@gmail.com> (he/him/הוא/אתה) - rexagod —
Pranshu Srivastava <rexagod@gmail.com> (he/him) - rlidwka —
Alex Kocharin <alex@kocharin.ru> - rmg —
Ryan Graham <r.m.graham@gmail.com> - robertkowalski —
Robert Kowalski <rok@kowalski.gd> - romankl —
Roman Klauke <romaaan.git@gmail.com> - ronkorving —
Ron Korving <ron@ronkorving.nl> - RReverser —
Ingvar Stepanyan <me@rreverser.com> - rubys —
Sam Ruby <rubys@intertwingly.net> - saghul —
Saúl Ibarra Corretgé <s@saghul.net> - sam-github —
Sam Roberts <vieuxtech@gmail.com> - sebdeckers —
Sebastiaan Deckers <sebdeckers83@gmail.com> - seishun —
Nikolai Vavilov <vvnicholas@gmail.com> - shigeki —
Shigeki Ohtsu <ohtsu@ohtsu.org> (he/him) - silverwind —
Roman Reiss <me@silverwind.io> - starkwang —
Weijia Wang <starkwang@126.com> - stefanmb —
Stefan Budeanu <stefan@budeanu.com> - tellnes —
Christian Tellnes <christian@tellnes.no> - thefourtheye —
Sakthipriyan Vairamani <thechargingvolcano@gmail.com> (he/him) - thlorenz —
Thorsten Lorenz <thlorenz@gmx.de> - trevnorris —
Trevor Norris <trev.norris@gmail.com> - tunniclm —
Mike Tunnicliffe <m.j.tunnicliffe@gmail.com> - vkurchatkin —
Vladimir Kurchatkin <vladimir.kurchatkin@gmail.com> - vsemozhetbyt —
Vse Mozhet Byt <vsemozhetbyt@gmail.com> (he/him) - watson —
Thomas Watson <w@tson.dk> - whitlockjc —
Jeremy Whitlock <jwhitlock@apache.org> - yhwang —
Yihong Wang <yh.wang@ibm.com> - yorkie —
Yorkie Liu <yorkiefixer@gmail.com> - yosuke-furukawa —
Yosuke Furukawa <yosuke.furukawa@gmail.com>
Collaborators follow the Collaborator Guide in
maintaining the Node.js project.
Triagers
- atlowChemi —
Chemi Atlow <chemi@atlow.co.il> (he/him) - Ayase-252 —
Qingyu Deng <i@ayase-lab.com> - bmuenzenmeyer —
Brian Muenzenmeyer <brian.muenzenmeyer@gmail.com> (he/him) - daeyeon —
Daeyeon Jeong <daeyeon.dev@gmail.com> (he/him) - F3n67u —
Feng Yu <F3n67u@outlook.com> (he/him) - himadriganguly —
Himadri Ganguly <himadri.tech@gmail.com> (he/him) - iam-frankqiu —
Frank Qiu <iam.frankqiu@gmail.com> (he/him) - marsonya —
Akhil Marsonya <akhil.marsonya27@gmail.com> (he/him) - meixg —
Xuguang Mei <meixuguang@gmail.com> (he/him) - mertcanaltin —
Mert Can Altin <mertgold60@gmail.com> - Mesteery —
Mestery <mestery@protonmail.com> (he/him) - preveen-stack —
Preveen Padmanabhan <wide4head@gmail.com> (he/him) - PoojaDurgad —
Pooja Durgad <Pooja.D.P@ibm.com> - RaisinTen —
Darshan Sen <raisinten@gmail.com> - VoltrexKeyva —
Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com> (he/him)
Triagers follow the Triage Guide when
responding to new issues.
Release keys
Primary GPG keys for Node.js Releasers (some Releasers sign with subkeys):
- Beth Griggs <bethanyngriggs@gmail.com>
4ED778F539E3634C779C87C6D7062848A1AB005C
- Bryan English <bryan@bryanenglish.com>
141F07595B7B3FFE74309A937405533BE57C7D57
- Danielle Adams <adamzdanielle@gmail.com>
74F12602B6F1C4E913FAA37AD3A89613643B6201
- Juan José Arboleda <soyjuanarbol@gmail.com>
DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7
- Michaël Zasso <targos@protonmail.com>
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600
- Myles Borins <myles.borins@gmail.com>
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8
- RafaelGSS <rafael.nunu@hotmail.com>
890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4
- Richard Lau <rlau@redhat.com>
C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C
- Ruy Adorno <ruyadorno@hotmail.com>
108F52B48DB57BB0CC439B2997B01419BD92F80A
- Ulises Gascón <ulisesgascongonzalez@gmail.com>
A363A499291CBBC940DD62E41F10027AF002F8B0
To import the full set of trusted release keys (including subkeys possibly used
to sign releases):
gpg --keyserver hkps://keys.openpgp.org --recv-keys 4ED778F539E3634C779C87C6D7062848A1AB005C gpg --keyserver hkps://keys.openpgp.org --recv-keys 141F07595B7B3FFE74309A937405533BE57C7D57 gpg --keyserver hkps://keys.openpgp.org --recv-keys 74F12602B6F1C4E913FAA37AD3A89613643B6201 gpg --keyserver hkps://keys.openpgp.org --recv-keys DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 gpg --keyserver hkps://keys.openpgp.org --recv-keys 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 gpg --keyserver hkps://keys.openpgp.org --recv-keys C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 gpg --keyserver hkps://keys.openpgp.org --recv-keys 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 gpg --keyserver hkps://keys.openpgp.org --recv-keys C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C gpg --keyserver hkps://keys.openpgp.org --recv-keys 108F52B48DB57BB0CC439B2997B01419BD92F80A gpg --keyserver hkps://keys.openpgp.org --recv-keys A363A499291CBBC940DD62E41F10027AF002F8B0
See Verifying binaries for how to use these keys to
verify a downloaded file.
Other keys used to sign some previous releases
- Chris Dickinson <christopher.s.dickinson@gmail.com>
9554F04D7259F04124DE6B476D5A82AC7E37093B
- Colin Ihrig <cjihrig@gmail.com>
94AE36675C464D64BAFA68DD7434390BDBE9B9C5
- Danielle Adams <adamzdanielle@gmail.com>
1C050899334244A8AF75E53792EF661D867B9DFA
- Evan Lucas <evanlucas@me.com>
B9AE9905FFD7803F25714661B63B535A4C206CA9
- Gibson Fahnestock <gibfahn@gmail.com>
77984A986EBC2AA786BC0F66B01FBB92821C587A
- Isaac Z. Schlueter <i@izs.me>
93C7E9E91B49E432C2F75674B0A78B0A6C481CF6
- Italo A. Casas <me@italoacasas.com>
56730D5401028683275BD23C23EFEFE93C4CFFFE
- James M Snell <jasnell@keybase.io>
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1
- Jeremiah Senkpiel <fishrock@keybase.io>
FD3A5288F042B6850C66B31F09FE44734EB7990E
- Juan José Arboleda <soyjuanarbol@gmail.com>
61FC681DFB92A079F1685E77973F295594EC4689
- Julien Gilli <jgilli@fastmail.fm>
114F43EE0176B71C7BC219DD50A3051F888C628D
- Rod Vagg <rod@vagg.org>
DD8F2338BAE7501E3DD5AC78C273792F7D83545D
- Ruben Bridgewater <ruben@bridgewater.de>
A48C2BEE680E841632CD4E44F07496B3EB3C1762
- Shelley Vohr <shelley.vohr@gmail.com>
B9E2F5981AA6E0CD28160D9FF13993A75599653C
- Timothy J Fontaine <tjfontaine@gmail.com>
7937DFD2AB06298B2293C3187D33FF9D0246406D
Security release stewards
When possible, the commitment to take slots in the
security release steward rotation is made by companies in order
to ensure individuals who act as security stewards have the
support and recognition from their employer to be able to
prioritize security releases. Security release stewards manage security
releases on a rotation basis as outlined in the
security release process.
- Datadog
- bengl —
Bryan English <bryan@bryanenglish.com> (he/him)
- bengl —
- NearForm
- RafaelGSS —
Rafael Gonzaga <rafael.nunu@hotmail.com> (he/him)
- RafaelGSS —
- NodeSource
- juanarbol —
Juan José Arboleda <soyjuanarbol@gmail.com> (he/him)
- juanarbol —
- Platformatic
- mcollina —
Matteo Collina <matteo.collina@gmail.com> (he/him)
- mcollina —
- Red Hat and IBM
- joesepi —
Joe Sepi <joesepi@ibm.com> (he/him) - mhdawson —
Michael Dawson <midawson@redhat.com> (he/him)
- joesepi —
License
Node.js is available under the
MIT license. Node.js also includes
external libraries that are available under a variety of licenses. See
LICENSE for the full
license text.
Node.js — программная платформа, основанная на движке V8 (транслирующем JavaScript в машинный код), превращающая JavaScript из узкоспециализированного языка в язык общего назначения, поддерживает работу в операционных системах Windows, Linux, Unix-подобных.
Node применяется преимущественно на сервере, выполняя роль веб-сервера, но есть возможность разрабатывать на Node.js и десктопные оконные приложения (при помощи NW.js, AppJS или Electron для Linux, Windows и macOS) и даже программировать микроконтроллеры (например, tessel, low.js и espruino). В основе Node.js лежит событийно-ориентированное и асинхронное (или реактивное) программирование с неблокирующим вводом/выводом.
Основные возможности
- Тестирование веб-приложений.
- Разнообразие инструментов для разработки.
- Поддержка TCP, UDP и Unix-socket.
- Высокая производительность.
- Поддержка HTML5 и Canvas без багов и зависаний.
- Предварительный запуск онлайн-игр.
- Поддержка отправки сообщений по электронной почте.
- Встроенные протоколы шифрования и хеширования данных.
- Работа с несколькими экземплярами.
- Консоль отладки приложения.
- Запись в журнал.
- Поддержка облачных сервисов.
- Поддержка мобильных девайсов.
- Синхронизация с хранилищем файлов.
- Интегрированные мультимедийные библиотеки.
- Подключение дополнительных модулей и других серверов на библиотеке «Node.js».
Удобство и интерфейс
Node.js не поддерживает графическую оболочку, поскольку в нем используется консольный режим. Этот подход позволяет обеспечить максимальную производительность сложных веб-приложений.
Node.js для Windows можно скачать на официальном сайте или на нашем по прямым ссылкам. Приложение набирает популярность среди разработчиков благодаря широким функциональным возможностям и универсальности.
«Изюминка» — разработка и тестирование приложений со сложной графикой и обеспечение огромного количества соединений для моделирования DDOS-атаки.
Достоинства
- Максимальная производительность.
- Поддержка облачных сервисов.
- Работа с HD-графикой и звуком высокого качества.
- Использование мобильных девайсов.
- Многофункциональность.
- Интегрирование дополнительных библиотек.
- Простая установка.
- Обеспечение большого количества одновременных соединений.
- Надежность.
- Встроенные протоколы SSL и TTL.
Недостатки
- Сложность реализации проектов.
- На обучение тратиться много времени.
Node подойдет для тестирования веб-приложений любого вида, а также для моделирования DDOS-атак, которые считаются наиболее опасными.
Node.js 32-bit
Download Node.js 32-bit latest version
Node.js 32-bit is an open-source, cross-platform JavaScript runtime environment that allows developers to build scalable and high-performance applications using JavaScript on both the client and serve
Node.js 32-bit is an open-source, cross-platform JavaScript runtime environment that allows developers to build scalable and high-performance applications using JavaScript on both the client and server sides. In this review, we will discuss the features, pros, and cons of Node.js 64-bit.
Pros and Cons of Node.js 32-bit
Node.js is a widely-used open-source JavaScript runtime built on Chrome’s V8 JavaScript engine. It allows developers to execute JavaScript code on the server-side, making it a versatile tool for web development and server applications. While Node.js offers numerous advantages, it also has some limitations. In this article, we’ll explore the pros and cons of using Node.js 64-bit. There are many categories of software and applications that you can download Here
Pros of Node.js 32-bit
1. Fast Execution
Node.js is known for its fast execution speed, thanks to the V8 JavaScript engine. It compiles JavaScript code into machine code, resulting in quick response times and high-performance server applications.
2. Single Language
Using JavaScript for both client-side and server-side development streamlines the development process. Developers can share code between the client and server, reducing duplication and easing maintenance.
3. Large Package Ecosystem
Node.js has a vast ecosystem of open-source packages available through npm (Node Package Manager). This extensive library of modules and libraries simplifies development by providing pre-built solutions for common tasks.
4. Scalability
Node.js is designed for scalability. Its event-driven, non-blocking architecture allows for handling a large number of concurrent connections efficiently, making it suitable for real-time applications like chat applications and online gaming.
5. Community Support
Node.js has a vibrant and active community of developers. This community contributes to ongoing improvements, provides support, and shares knowledge through forums, blogs, and online resources.
6. Cross-Platform Compatibility
Node.js runs on multiple platforms, including Windows, macOS, and various Unix-based systems, ensuring broad compatibility and flexibility.
Cons of Node.js 32-bit
1. Single-Threaded
While Node.js’s event-driven model is efficient, it is single-threaded, meaning it can be less suitable for CPU-bound tasks. Long-running, computationally intensive operations can block the event loop and lead to reduced responsiveness.
2. Callback Hell
The use of callbacks in asynchronous JavaScript code can lead to a problem known as “callback hell” or “pyramid of doom.” This can make code less readable and harder to maintain.
3. Maturity and Stability
Node.js, despite its popularity, is often considered less mature and stable compared to some other server-side technologies. This can result in more frequent updates and changes that may require adjustments in code.
4. Limited Multithreading
Node.js is not well-suited for CPU-bound tasks that benefit from multithreading. While it can spawn child processes, this approach may not be as efficient as native multithreading solutions in other languages.
5. Compatibility Challenges
Node.js may not be the best choice for legacy applications written in other programming languages, as integration and compatibility can be challenging.
In conclusion, Node.js 32-bit is a powerful and efficient runtime for building server-side applications and real-time web services. Its speed, extensive package ecosystem, and active community support make it a popular choice among developers. However, developers should be aware of its single-threaded nature, the potential for callback-related complexities, and the need to handle CPU-bound tasks carefully. The decision to use Node.js should align with your specific project requirements and considerations.
Video Review Node.js (32-bit)
Safest Free Software Download Sites for PC and Laptop Windows (32 Bit and 64 Bit Edition), you can download Node.js 32-bit for free and legally. Updates Every Day There are many categories of software and applications that you can download Here
Name
Node.js 32-bit
Size
23.02MB
License
Free
Post on
Latest Update
Node.js (64-bit)
Free
Microsoft Visual Studio Community
Free To Try
Visual Studio Code 32-bit
Free
Visual Studio Code (64-bit)
Free
Nicepage
Free
Unity
Free
Node.js (64-bit)
Free
DBeaver 23.1.1
Free
CudaText (32-bit)
Free
URL Name: CudaText 1.195.0.5 (64-bit)
Free
Scratch Desktop
Free
WPS Office Free
Free
Nik Collection
Free To Try
EasyCAP Drivers
Trial
Tox Chat
Free
WeChat for Windows
Free
Trojan Killer 2.1.101
Free To Try
URL Name: CudaText 1.195.0.5 (64-bit)
Free
BlueStacks App Player
Free
PotPlayer (64-bit)
Scratch Desktop
Free
We use cookies to improve your experience.
By using the site you agree to the use of cookies. For more information and options regarding cookies and personal data see our Cookies Policy and Privacy Policy
Accept cookies & close
-
Главная
-
Инструкции
-
Node.js
-
Как установить Node.js на Windows: пошаговая инструкция
На JavaScript выполняется большая часть интерактивных элементов на сайтах и в мобильных приложениях. JavaScript отлично работает с HTML/CSS и интегрирован основные браузеры на рынке. Чистый JavaScript используется в вебе, а для общего применения JavaScript разработчики используют различные среды выполнения, например, Node.js.
Node.js — это среда выполнения кода JavaScript. Она позволяет использовать JavaScript как язык программирования общего назначения: создавать на нем серверную часть и писать полноценные десктопные приложения.
Основа Node.js — движок V8. Этот движок был разработан Google и используется в браузере Google Chrome. Он компилирует код JavaScript в машинный код, который понимает процессор. Однако, чтобы сделать из JavaScript язык общего назначения, одного движка недостаточно. Так, например, для создания серверной части нужно, чтобы язык умел работать с файлами, сетью и т.п. Для решения этой проблемы разработчики добавили к V8 дополнительные возможности, с помощью своего кода и сторонних библиотек. В итоге у них получился инструмент, который превращает JavaScript в язык общего назначения.
Node.js стала популярна среди разработчиков благодаря возможности создавать серверную и клиентскую часть на одном языке, скорости работы и NPM. В этом материале мы расскажем, как правильно установить Node.js на Windows 10.
Удаление старых версий
Перед установкой необходимо удалить старые версии среды выполнения, если они были ранее установлены. Наличие предыдущих версий может привести к возникновению конфликтов.
Проверим систему на наличие версий Node.js. Для этого в cmd
(чтобы ее запустить, нажмите Win+R, введите cmd
и нажмите Enter) выполняем команду nvm list
:
C:\Users\Timeweb>nvm list
18.9.0
18.8.0
16.17.0
Как видим, у нас установлено несколько версий. Удалим их:
- Выполняем команду
npm cache clean --force
. - В «Установка и удаление программ» удаляем Node.js.
- Перезагружаем компьютер.
- Удаляем следующие каталоги. Некоторые из них могут существовать, а некоторые, наоборот, отсутствовать:
- C:\Program Files (x86)\Nodejs
- C:\Program Files\Nodejs
- C:\Users\{User}\AppData\Roaming\npm
- C:\Users\{User}\AppData\Roaming\npm-cache
- C:\Users\{User}\.npmrc
- C:\Users\{User}\AppData\Local\Temp\npm-*
- Возвращаемся в командную строку и выполняем
nvm uninstall
к каждой версии, полученной с помощьюnvm list
:
C:\Users\Timeweb>nvm uninstall 18.9.0
Uninstalling node v18.9.0... doneC:\Users\Timeweb>nvm uninstall 18.8.0
Uninstalling node v18.9.0... done
C:\Users\Timeweb>nvm uninstall 16.17.0
Uninstalling node v18.9.0... done
Дополнительно проверим, что версии удалены:
C:\Users\Timeweb>nvm list
No installations recognized.C:\Users\Timeweb>where node
ИНФОРМАЦИЯ: не удается найти файлы по заданным шаблонам.
C:\Users\Timeweb>where npm
ИНФОРМАЦИЯ: не удается найти файлы по заданным шаблонам.
С помощью nvm-windows
Node Version Manager или сокращенно NVM — это диспетчер версий Node.js. Возможно, во время работы вам придется использовать различные версии Node и переключаться между ними. Версии часто меняются, поэтому при работе рекомендуется использовать диспетчер версий.
NVM — самый распространенный диспетчер версий, но, к сожалению, в Windows он не доступен, и вместо него используется адаптированный вариант nvm-windows.
- Зайдите в репозиторий nvm-windows на github.
- Загрузите установщик
nvm-setup.exe
последней версии диспетчера. - После загрузки осуществите установку.
- По окончании работы установщика откройте PowerShell от имени администратора и проверьте работоспособность NVM:
PS C:\Windows\system32 > nvm list
No installations recognized.
Теперь нужно выбрать версию Node.js, которую вы будете устанавливать на свой компьютер. Команда nvm list available
покажет частичный список доступных для загрузки версий:
Если для вашего проекта не требуется определенная версия, то рекомендуется выбрать последний LTS-выпуск. Риск возникновения проблем при работе с такой версией минимален. Если же вы хотите протестировать нововведения и улучшенные возможности, то вы можете загрузить последнюю версию. При этом не стоит забывать, что риск возникновения проблем с новейшей версией выше.
Установим последний LTS. Возьмем номер версии из результата nvm list available
и установим его с помощью nvm install
:
PS C:\Windows\system32> nvm install 16.17.0
Downloading node.js version 16.17.0 (64-bit)...
Extracting...
Complete
Creating C:\Users\Timeweb\AppData\Roaming\nvm\tempDownloading npm version 8.15.0… Complete
Installing npm v8.15.0…
Installation complete. If you want to use this version, type
nvm use 16.17.0
Установка завершена. В ряде случаев при установке nvm-windows может возникнуть проблема: nvm не загрузит диспетчер пакетов NPM. В этом случае рекомендуем воспользоваться следующим способом установки.
Как установить node.js с помощью официального установщика
- Зайдите на официальный сайт nodejs.org в раздел «Загрузка».
- Выберите и загрузите нужную версию.
- По завершению загрузки откройте файл, после чего начнется установка.
- Следуйте инструкциям установщика.
Установка node.js в WSL2
Если вы хотите использовать Node.js вместе с Docker, планируете работать с командной строке Bash или просто любите Linux, то имеет смысл задуматься об установке среды выполнения в WSL2.
WSL (Windows Subsystem for Linux) — это программная прослойка для запуска приложений, созданных под Linux-системы, на ОС Windows. Возможно, вам уже приходилось работать в WSL с приложениями, у которых нет Windows-версий. Ранее мы уже рассматривали установку Node.js на Ubuntu 20.04. Поэтому в этом разделе будет размещена инструкция по установке WSL 2 — об установке Node.js на Ubuntu читайте в статье «Как установить Node.js в Ubuntu 20.04».
Алгоритм установки WSL2 в Windows 10 зависит от версии операционной системы. Чтобы её узнать, нажмите Win+R и введите winver
. После этого откроется такое окно:
Алгоритм для версий старше 2004
В PowerShell от имени администратора выполняем следующие команды:
wsl --install
wsl --set-version Ubuntu 2
Для проверки результата воспользуемся командой wsl.exe -l -v
:
PS C:\WINDOWS\system32> wsl.exe -l -v
NAME STATE VERSION
* Ubuntu Stopped 2
Алгоритм для версий младше 2004 (как минимум потребуется ОС версии 1903)
В PowerShell (от имени администратора) активируем подсистему Windows для Linux.
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Затем активируем функцию виртуальной машины:
dism.exe /online /enable-feature /featurename: VirtualMachinePlatform /all /norestart
После выполнения этих действий нужно перезагрузить компьютер.
Когда компьютера запустится, скачиваем и устанавливаем пакет обновлений ядра Linux. Загрузить его можно по здесь.
В PowerShell выберем 2 версию WSL в качестве основной:
wsl --set-default-version 2
Теперь скачаем какую-нибудь операционную систему на Linux. Сделать это можно прямо магазине приложений Microsoft Store:
По окончании установки вы сможете зайти в консоль установленной системы через меню поиска:
Заключение
Node.js — это популярная среда разработки, которая используется множеством крупных компаний: PayPal, Yahoo, Ebay, General Electric, Microsoft и Uber. В рамках этого материала мы рассмотрели способы как установить Node.js на Windows 10.