Skip to content

Commit 5d829a6

Browse files
committed
doc: backport README.md
PR-URL: #3965 Reviewed-By: Alexis Campailla <orangemocha@nodejs.org> Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
1 parent c559c79 commit 5d829a6

File tree

1 file changed

+282
-50
lines changed

1 file changed

+282
-50
lines changed

README.md

+282-50
Original file line numberDiff line numberDiff line change
@@ -1,74 +1,306 @@
1-
Evented I/O for V8 javascript. [![Build Status](https://secure.travis-ci.org/joyent/node.png)](http://travis-ci.org/joyent/node)
2-
===
1+
Node.js
2+
=======
33

4-
### To build:
4+
[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/nodejs/node?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
55

6-
Prerequisites (Unix only):
6+
The Node.js project is supported by the
7+
[Node.js Foundation](https://nodejs.org/en/foundation/). Contributions,
8+
policies and releases are managed under an
9+
[open governance model](./GOVERNANCE.md). We are also bound by a
10+
[Code of Conduct](./CODE_OF_CONDUCT.md).
711

8-
* GCC 4.2 or newer
9-
* Python 2.6 or 2.7
10-
* GNU Make 3.81 or newer
11-
* libexecinfo (FreeBSD and OpenBSD only)
12+
If you need help using or installing Node.js, please use the
13+
[nodejs/help](https://github.com/nodejs/help) issue tracker.
1214

13-
Unix/Macintosh:
15+
## Release Types
1416

15-
./configure
16-
make
17-
make install
17+
The Node.js project maintains multiple types of releases:
1818

19-
If your python binary is in a non-standard location or has a
19+
* **Stable**: Released from active development branches of this repository,
20+
versioned by [SemVer](http://semver.org/) and signed by a member of the
21+
[Release Team](#release-team).
22+
Code for Stable releases is organized in this repository by major version
23+
number, For example: [v4.x](https://github.com/nodejs/node/tree/v4.x).
24+
The major version number of Stable releases will increment every 6 months
25+
allowing for breaking changes to be introduced. This happens in April and
26+
October every year. Stable release lines beginning in October each year have
27+
a maximum support life of 8 months. Stable release lines beginning in April
28+
each year will convert to LTS (see below) after 6 months and receive further
29+
support for 30 months.
30+
* **LTS**: Releases that receive Long-term Support, with a focus on stability
31+
and security. Every second Stable release line (major version) will become an
32+
LTS line and receive 18 months of _Active LTS_ support and a further 12
33+
months of _Maintenance_. LTS release lines are given alphabetically
34+
ordered codenames, begining with v4 Argon. LTS releases are less frequent
35+
and will attempt to maintain consistent major and minor version numbers,
36+
only incrementing patch version numbers. There are no breaking changes or
37+
feature additions, except in some special circumstances. More information
38+
can be found in the [LTS README](https://github.com/nodejs/LTS/).
39+
* **Nightly**: Versions of code in this repository on the current Stable
40+
branch, automatically built every 24-hours where changes exist. Use with
41+
caution.
42+
43+
## Download
44+
45+
Binaries, installers, and source tarballs are available at
46+
<https://nodejs.org>.
47+
48+
**Stable** and **LTS** releases are available at
49+
<https://nodejs.org/download/release/>, listed under their version strings.
50+
The [latest](https://nodejs.org/download/release/latest/) directory is an
51+
alias for the latest Stable release. The latest LTS release from an LTS
52+
line is available in the form: latest-lts-_codename_. For example:
53+
<https://nodejs.org/download/release/latest-lts-argon>
54+
55+
**Nightly** builds are available at
56+
<https://nodejs.org/download/nightly/>, listed under their version
57+
string which includes their date (in UTC time) and the commit SHA at
58+
the HEAD of the release.
59+
60+
**API documentation** is available in each release and nightly
61+
directory under _docs_. <https://nodejs.org/api/> points to the API
62+
documentation of the latest stable version.
63+
64+
### Verifying Binaries
65+
66+
Stable, LTS and Nightly download directories all contain a *SHASUM256.txt*
67+
file that lists the SHA checksums for each file available for
68+
download. To check that a downloaded file matches the checksum, run
69+
it through `sha256sum` with a command such as:
70+
71+
```
72+
$ grep node-vx.y.z.tar.gz SHASUMS256.txt | sha256sum -c -
73+
```
74+
75+
_(Where "node-vx.y.z.tar.gz" is the name of the file you have
76+
downloaded)_
77+
78+
Additionally, Stable and LTS releases (not Nightlies) have GPG signed
79+
copies of SHASUM256.txt files available as SHASUM256.txt.asc. You can use
80+
`gpg` to verify that the file has not been tampered with.
81+
82+
To verify a SHASUM256.txt.asc, you will first need to import all of
83+
the GPG keys of individuals authorized to create releases. They are
84+
listed at the bottom of this README under [Release Team](#release-team).
85+
Use a command such as this to import the keys:
86+
87+
```
88+
$ gpg --keyserver pool.sks-keyservers.net \
89+
--recv-keys DD8F2338BAE7501E3DD5AC78C273792F7D83545D
90+
```
91+
92+
_(See the bottom of this README for a full script to import active
93+
release keys)_
94+
95+
You can then use `gpg --verify SHASUMS256.txt.asc` to verify that the
96+
file has been signed by an authorized member of the Node.js team.
97+
98+
Once verified, use the SHASUMS256.txt.asc file to get the checksum for
99+
the binary verification command above.
100+
101+
## Build
102+
103+
### Unix / Macintosh
104+
105+
Prerequisites:
106+
107+
* GCC 4.2 or newer
108+
* G++ 4.2 or newer
109+
* Python 2.6 or 2.7
110+
* GNU Make 3.81 or newer
111+
* libexecinfo (FreeBSD and OpenBSD only)
112+
113+
```text
114+
$ ./configure
115+
$ make
116+
$ [sudo] make install
117+
```
118+
119+
If your Python binary is in a non-standard location or has a
20120
non-standard name, run the following instead:
21121

22-
export PYTHON=/path/to/python
23-
$PYTHON ./configure
24-
make
25-
make install
122+
```text
123+
$ export PYTHON=/path/to/python
124+
$ $PYTHON ./configure
125+
$ make
126+
$ [sudo] make install
127+
```
128+
129+
To run the tests:
130+
131+
```text
132+
$ make test
133+
```
134+
135+
To build the documentation:
136+
137+
```text
138+
$ make doc
139+
```
140+
141+
To read the documentation:
142+
143+
```text
144+
$ man doc/node.1
145+
```
146+
147+
To test if Node.js was built correctly:
148+
149+
```
150+
$ node -e "console.log('Hello from node.js ' + process.version)"
151+
```
152+
153+
### Windows
154+
155+
Prerequisites:
156+
157+
* [Python 2.6 or 2.7](https://www.python.org/downloads/)
158+
* Visual Studio 2010 or 2012; or
159+
* Visual Studio 2013 for Windows Desktop; or
160+
* Visual Studio Express 2013 for Windows Desktop
161+
* Basic Unix tools required for some tests,
162+
[Git for Windows](http://git-scm.com/download/win) includes Git Bash
163+
and tools which can be included in the global `PATH`.
164+
165+
```text
166+
> vcbuild nosign
167+
```
168+
169+
To run the tests:
170+
171+
```text
172+
> vcbuild test
173+
```
174+
175+
To test if Node.js was built correctly:
176+
177+
```
178+
$ node -e "console.log('Hello from node.js ' + process.version)"
179+
```
180+
181+
### Android / Android based devices, aka. Firefox OS
182+
183+
Be sure you have downloaded and extracted [Android NDK]
184+
(https://developer.android.com/tools/sdk/ndk/index.html)
185+
before in a folder. Then run:
186+
187+
```
188+
$ ./android-configure /path/to/your/android-ndk
189+
$ make
190+
```
191+
192+
## Resources for Newcomers
193+
194+
* [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md)
195+
* [CONTRIBUTING.md](./CONTRIBUTING.md)
196+
* [GOVERNANCE.md](./GOVERNANCE.md)
197+
* IRC:
198+
[#io.js on Freenode.net](http://webchat.freenode.net?channels=io.js&uio=d4)
199+
* [nodejs/node on Gitter](https://gitter.im/nodejs/node)
200+
201+
## Security
202+
203+
All security bugs in node.js are taken seriously and should be reported by
204+
emailing security@nodejs.org. This will be delivered to a subset of the project
205+
team who handle security issues. Please don't disclose security bugs
206+
public until they have been handled by the security team.
26207

27-
Windows:
208+
Your email will be acknowledged within 24 hours, and you’ll receive a more
209+
detailed response to your email within 48 hours indicating the next steps in
210+
handling your report.
28211

29-
vcbuild.bat
212+
## Current Project Team Members
30213

31-
You can download pre-built binaries for various operating systems from
32-
[http://nodejs.org/download/](http://nodejs.org/download/). The Windows
33-
and OS X installers will prompt you for the location to install to.
34-
The tarballs are self-contained; you can extract them to a local directory
35-
with:
214+
The Node.js project team comprises a group of core collaborators and a sub-group
215+
that forms the _Technical Steering Committee_ (TSC) which governs the project. For more
216+
information about the governance of the Node.js project, see
217+
[GOVERNANCE.md](./GOVERNANCE.md).
36218

37-
tar xzf /path/to/node-<version>-<platform>-<arch>.tar.gz
219+
### TSC (Technical Steering Committee)
38220

39-
Or system-wide with:
221+
* [bnoordhuis](https://github.com/bnoordhuis) - **Ben Noordhuis** &lt;info@bnoordhuis.nl&gt;
222+
* [chrisdickinson](https://github.com/chrisdickinson) - **Chris Dickinson** &lt;christopher.s.dickinson@gmail.com&gt;
223+
* [cjihrig](https://github.com/cjihrig) - **Colin Ihrig** &lt;cjihrig@gmail.com&gt;
224+
* [fishrock123](https://github.com/fishrock123) - **Jeremiah Senkpiel** &lt;fishrock123@rocketmail.com&gt;
225+
* [indutny](https://github.com/indutny) - **Fedor Indutny** &lt;fedor.indutny@gmail.com&gt;
226+
* [jasnell](https://github.com/jasnell) - **James M Snell** &lt;jasnell@gmail.com&gt;
227+
* [misterdjules](https://github.com/misterdjules) - **Julien Gilli** &lt;jgilli@nodejs.org&gt;
228+
* [mscdex](https://github.com/mscdex) - **Brian White** &lt;mscdex@mscdex.net&gt;
229+
* [orangemocha](https://github.com/orangemocha) - **Alexis Campailla** &lt;orangemocha@nodejs.org&gt;
230+
* [piscisaureus](https://github.com/piscisaureus) - **Bert Belder** &lt;bertbelder@gmail.com&gt;
231+
* [rvagg](https://github.com/rvagg) - **Rod Vagg** &lt;rod@vagg.org&gt;
232+
* [shigeki](https://github.com/shigeki) - **Shigeki Ohtsu** &lt;ohtsu@iij.ad.jp&gt;
233+
* [trevnorris](https://github.com/trevnorris) - **Trevor Norris** &lt;trev.norris@gmail.com&gt;
40234

41-
cd /usr/local && tar --strip-components 1 -xzf \
42-
/path/to/node-<version>-<platform>-<arch>.tar.gz
235+
### Collaborators
43236

44-
### To run the tests:
237+
* [brendanashworth](https://github.com/brendanashworth) - **Brendan Ashworth** &lt;brendan.ashworth@me.com&gt;
238+
* [ChALkeR](https://github.com/ChALkeR) - **Сковорода Никита Андреевич** &lt;chalkerx@gmail.com&gt;
239+
* [domenic](https://github.com/domenic) - **Domenic Denicola** &lt;d@domenic.me&gt;
240+
* [evanlucas](https://github.com/evanlucas) - **Evan Lucas** &lt;evanlucas@me.com&gt;
241+
* [geek](https://github.com/geek) - **Wyatt Preul** &lt;wpreul@gmail.com&gt;
242+
* [isaacs](https://github.com/isaacs) - **Isaac Z. Schlueter** &lt;i@izs.me&gt;
243+
* [jbergstroem](https://github.com/jbergstroem) - **Johan Bergström** &lt;bugs@bergstroem.nu&gt;
244+
* [joaocgreis](https://github.com/joaocgreis) - **João Reis** &lt;reis@janeasystems.com&gt;
245+
* [julianduque](https://github.com/julianduque) - **Julian Duque** &lt;julianduquej@gmail.com&gt;
246+
* [lxe](https://github.com/lxe) - **Aleksey Smolenchuk** &lt;lxe@lxe.co&gt;
247+
* [mhdawson](https://github.com/mhdawson) - **Michael Dawson** &lt;michael_dawson@ca.ibm.com&gt;
248+
* [micnic](https://github.com/micnic) - **Nicu Micleușanu** &lt;micnic90@gmail.com&gt;
249+
* [mikeal](https://github.com/mikeal) - **Mikeal Rogers** &lt;mikeal.rogers@gmail.com&gt;
250+
* [monsanto](https://github.com/monsanto) - **Christopher Monsanto** &lt;chris@monsan.to&gt;
251+
* [ofrobots](https://github.com/ofrobots) - **Ali Ijaz Sheikh** &lt;ofrobots@google.com&gt;
252+
* [Olegas](https://github.com/Olegas) - **Oleg Elifantiev** &lt;oleg@elifantiev.ru&gt;
253+
* [petkaantonov](https://github.com/petkaantonov) - **Petka Antonov** &lt;petka_antonov@hotmail.com&gt;
254+
* [qard](https://github.com/qard) - **Stephen Belanger** &lt;admin@stephenbelanger.com&gt;
255+
* [rlidwka](https://github.com/rlidwka) - **Alex Kocharin** &lt;alex@kocharin.ru&gt;
256+
* [robertkowalski](https://github.com/robertkowalski) - **Robert Kowalski** &lt;rok@kowalski.gd&gt;
257+
* [romankl](https://github.com/romankl) - **Roman Klauke** &lt;romaaan.git@gmail.com&gt;
258+
* [saghul](https://github.com/saghul) - **Saúl Ibarra Corretgé** &lt;saghul@gmail.com&gt;
259+
* [sam-github](https://github.com/sam-github) - **Sam Roberts** &lt;vieuxtech@gmail.com&gt;
260+
* [seishun](https://github.com/seishun) - **Nikolai Vavilov** &lt;vvnicholas@gmail.com&gt;
261+
* [silverwind](https://github.com/silverwind) - **Roman Reiss** &lt;me@silverwind.io&gt;
262+
* [srl295](https://github.com/srl295) - **Steven R Loomis** &lt;srloomis@us.ibm.com&gt;
263+
* [targos](https://github.com/targos) - **Michaël Zasso** &lt;mic.besace@gmail.com&gt;
264+
* [tellnes](https://github.com/tellnes) - **Christian Tellnes** &lt;christian@tellnes.no&gt;
265+
* [thealphanerd](http://github.com/thealphanerd) - **Myles Borins** &lt;myles.borins@gmail.com&gt;
266+
* [thefourtheye](https://github.com/thefourtheye) - **Sakthipriyan Vairamani** &lt;thechargingvolcano@gmail.com&gt;
267+
* [thlorenz](https://github.com/thlorenz) - **Thorsten Lorenz** &lt;thlorenz@gmx.de&gt;
268+
* [Trott](https://github.com/Trott) - **Rich Trott** &lt;rtrott@gmail.com&gt;
269+
* [tunniclm](https://github.com/tunniclm) - **Mike Tunnicliffe** &lt;m.j.tunnicliffe@gmail.com&gt;
270+
* [vkurchatkin](https://github.com/vkurchatkin) - **Vladimir Kurchatkin** &lt;vladimir.kurchatkin@gmail.com&gt;
271+
* [yosuke-furukawa](https://github.com/yosuke-furukawa) - **Yosuke Furukawa** &lt;yosuke.furukawa@gmail.com&gt;
45272

46-
Unix/Macintosh:
273+
Collaborators & TSC members follow the [COLLABORATOR_GUIDE.md](./COLLABORATOR_GUIDE.md) in
274+
maintaining the Node.js project.
47275

48-
make test
276+
### Release Team
49277

50-
Windows:
278+
Releases of Node.js and io.js will be signed with one of the following GPG keys:
51279

52-
vcbuild.bat test
280+
* **Chris Dickinson** &lt;christopher.s.dickinson@gmail.com&gt; `9554F04D7259F04124DE6B476D5A82AC7E37093B`
281+
* **Colin Ihrig** &lt;cjihrig@gmail.com&gt; `94AE36675C464D64BAFA68DD7434390BDBE9B9C5`
282+
* **Sam Roberts** &lt;octetcloud@keybase.io&gt; `0034A06D9D9B0064CE8ADF6BF1747F4AD2306D93`
283+
* **Jeremiah Senkpiel** &lt;fishrock@keybase.io&gt; `FD3A5288F042B6850C66B31F09FE44734EB7990E`
284+
* **James M Snell** &lt;jasnell@keybase.io&gt; `71DCFD284A79C3B38668286BC97EC7A07EDE3FC1`
285+
* **Rod Vagg** &lt;rod@vagg.org&gt; `DD8F2338BAE7501E3DD5AC78C273792F7D83545D`
53286

54-
### To build the documentation:
287+
The full set of trusted release keys can be imported by running:
55288

56-
make doc
289+
```
290+
gpg --keyserver pool.sks-keyservers.net --recv-keys 9554F04D7259F04124DE6B476D5A82AC7E37093B
291+
gpg --keyserver pool.sks-keyservers.net --recv-keys 94AE36675C464D64BAFA68DD7434390BDBE9B9C5
292+
gpg --keyserver pool.sks-keyservers.net --recv-keys 0034A06D9D9B0064CE8ADF6BF1747F4AD2306D93
293+
gpg --keyserver pool.sks-keyservers.net --recv-keys FD3A5288F042B6850C66B31F09FE44734EB7990E
294+
gpg --keyserver pool.sks-keyservers.net --recv-keys 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1
295+
gpg --keyserver pool.sks-keyservers.net --recv-keys DD8F2338BAE7501E3DD5AC78C273792F7D83545D
296+
```
57297

58-
### To read the documentation:
298+
See the section above on [Verifying Binaries](#verifying-binaries) for
299+
details on what to do with these keys to verify that a downloaded file is official.
59300

60-
man doc/node.1
301+
Previous releases of Node.js have been signed with one of the following GPG
302+
keys:
61303

62-
Resources for Newcomers
63-
---
64-
- [The Wiki](https://github.com/joyent/node/wiki)
65-
- [nodejs.org](http://nodejs.org/)
66-
- [how to install node.js and npm (node package manager)](http://www.joyent.com/blog/installing-node-and-npm/)
67-
- [list of modules](https://github.com/joyent/node/wiki/modules)
68-
- [searching the npm registry](http://npmjs.org/)
69-
- [list of companies and projects using node](https://github.com/joyent/node/wiki/Projects,-Applications,-and-Companies-Using-Node)
70-
- [node.js mailing list](http://groups.google.com/group/nodejs)
71-
- irc chatroom, [#node.js on freenode.net](http://webchat.freenode.net?channels=node.js&uio=d4)
72-
- [community](https://github.com/joyent/node/wiki/Community)
73-
- [contributing](https://github.com/joyent/node/wiki/Contributing)
74-
- [big list of all the helpful wiki pages](https://github.com/joyent/node/wiki/_pages)
304+
* Julien Gilli &lt;jgilli@fastmail.fm&gt; `114F43EE0176B71C7BC219DD50A3051F888C628D`
305+
* Timothy J Fontaine &lt;tjfontaine@gmail.com&gt; `7937DFD2AB06298B2293C3187D33FF9D0246406D`
306+
* Isaac Z. Schlueter &lt;i@izs.me&gt; `93C7E9E91B49E432C2F75674B0A78B0A6C481CF6`

0 commit comments

Comments
 (0)