Node.js JavaScript runtime 🐢🚀
Go to file
Ben Noordhuis 52e600a9c8 test: don't assume broadcast traffic is unfiltered
parallel/test-dgram-broadcast-multi-process assumes non-local broadcast
traffic is unfiltered, an assumption that fails with, for example, the
default Fedora firewall rules.  Use a loopback interface instead.

Fixes: https://github.com/iojs/io.js/issues/219
PR-URL: https://github.com/iojs/io.js/pull/220
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-01-06 17:11:29 +01:00
benchmark lib: micro-optimize url.resolve() 2014-12-20 21:33:52 +01:00
deps deps: update libuv to 1.2.0 2015-01-05 22:25:20 +01:00
doc Merge remote-tracking branch 'joyent/v0.12' into v1.x 2015-01-05 17:26:47 +01:00
lib Merge remote-tracking branch 'joyent/v0.12' into v1.x 2015-01-05 17:26:47 +01:00
src Merge remote-tracking branch 'joyent/v0.12' into v1.x 2015-01-05 17:26:47 +01:00
test test: don't assume broadcast traffic is unfiltered 2015-01-06 17:11:29 +01:00
tools Merge remote-tracking branch 'joyent/v0.12' into v1.x 2015-01-05 17:26:47 +01:00
.gitattributes Explicitly disable cr/lf conversion for test fixtures 2011-08-10 19:59:37 +02:00
.gitignore Merge remote-tracking branch 'joyent/v0.12' into v1.x 2015-01-05 17:26:47 +01:00
.mailmap Update .mailmap and AUTHORS 2013-03-19 20:07:38 +01:00
AUTHORS docs: update to authors file 2015-01-02 17:31:20 -08:00
BSDmakefile Tell BSD users to run `gmake` instead. 2011-07-11 14:17:23 +02:00
CONTRIBUTING.md docs: fix project name 2014-12-09 16:18:50 +01:00
ChangeLog 2014.09.24, Version 0.11.14 (Unstable) 2014-09-24 17:15:10 -07:00
LICENSE Merge remote-tracking branch 'upstream/v0.10' 2013-08-06 11:59:17 -07:00
Makefile Merge remote-tracking branch 'joyent/v0.12' into v1.x 2015-01-05 17:26:47 +01:00
Makefile.build src: move debug agent from deps/ to src/ 2014-11-03 12:08:04 +01:00
README.md Merge remote-tracking branch 'joyent/v0.12' into v1.x 2015-01-05 17:26:47 +01:00
android-configure build: add android support 2013-06-17 17:21:56 +02:00
common.gypi configure: remove compiler detection 2014-12-23 19:27:24 +01:00
configure Merge remote-tracking branch 'joyent/v0.12' into v1.x 2015-01-05 17:26:47 +01:00
node.gyp Merge remote-tracking branch 'joyent/v0.12' into v1.x 2015-01-05 17:26:47 +01:00
vcbuild.bat Merge remote-tracking branch 'joyent/v0.12' into v1.x 2015-01-05 17:26:47 +01:00

README.md

io.js

![Gitter](https://badges.gitter.im/Join Chat.svg)

This repository began as a GitHub fork of joyent/node. io.js contributions, releases, and contributorship are under an open governance model. We intend to land, with increasing regularity, releases which are compatible with the npm ecosystem that has been built to date for node.js.

Is it io.js or IO.js or iojs or IOjs or iOjS?

The official name is io.js, which should never be capitalized, especially not at the start of a sentence, unless it is being displayed in a location that is customarily all-caps (such as the title of man pages.)

To build:

Prerequisites (Unix only):

  • gcc and g++ 4.8 or newer, or
  • clang and clang++ 3.3 or newer
  • Python 2.6 or 2.7
  • GNU Make 3.81 or newer
  • libexecinfo (FreeBSD and OpenBSD only)

Unix/Macintosh:

./configure
make
make install

If your python binary is in a non-standard location or has a non-standard name, run the following instead:

export PYTHON=/path/to/python
$PYTHON ./configure
make
make install

Prerequisites (Windows only):

  • Python 2.6 or 2.7
  • Visual Studio 2013 for Windows Desktop, or
  • Visual Studio Express 2013 for Windows Desktop

Windows:

vcbuild nosign

You can download pre-built binaries for various operating systems from http://nodejs.org/download/. The Windows and OS X installers will prompt you for the location in which to install. The tarballs are self-contained; you can extract them to a local directory with:

tar xzf /path/to/node-<version>-<platform>-<arch>.tar.gz

Or system-wide with:

cd /usr/local && tar --strip-components 1 -xzf \
                    /path/to/node-<version>-<platform>-<arch>.tar.gz

To run the tests:

Unix/Macintosh:

make test

Windows:

vcbuild test

To build the documentation:

make doc

To read the documentation:

man doc/node.1

Intl (ECMA-402) support:

Intl support is not enabled by default.

"small" (English only) support

This option will build with "small" (English only) support, but the full Intl (ECMA-402) APIs. With --download=all it will download the ICU library as needed.

Unix/Macintosh:

./configure --with-intl=small-icu --download=all

Windows:

vcbuild small-icu download-all

The small-icu mode builds with English-only data. You can add full data at runtime.

Note: more docs are on the wiki.

Build with full ICU support (all locales supported by ICU):

With the --download=all, this may download ICU if you don't have an ICU in deps/icu.

Unix/Macintosh:

./configure --with-intl=full-icu --download=all

Windows:

vcbuild full-icu download-all

Build with no Intl support :-(

The Intl object will not be available. This is the default at present, so this option is not normally needed.

Unix/Macintosh:

./configure --with-intl=none

Windows:

vcbuild intl-none

Use existing installed ICU (Unix/Macintosh only):

pkg-config --modversion icu-i18n && ./configure --with-intl=system-icu

Build with a specific ICU:

You can find other ICU releases at the ICU homepage. Download the file named something like icu4c-**##.#**-src.tgz (or .zip).

Unix/Macintosh: from an already-unpacked ICU

./configure --with-intl=[small-icu,full-icu] --with-icu-source=/path/to/icu

Unix/Macintosh: from a local ICU tarball

./configure --with-intl=[small-icu,full-icu] --with-icu-source=/path/to/icu.tgz

Unix/Macintosh: from a tarball URL

./configure --with-intl=full-icu --with-icu-source=http://url/to/icu.tgz

Windows: first unpack latest ICU to deps/icu icu4c-##.#-src.tgz (or .zip) as deps/icu (You'll have: deps/icu/source/...)

vcbuild full-icu

Resources for Newcomers