Node.js uses the V8 JavaScript engine by default. This GitHub fork enables Node.js to optionally use the Chakra JavaScript engine on Windows 10, allowing Node.js to run on Windows on ARM. Our goal is to merge back into master after stabilizing this code, fixing key gaps and responding to early community feedback.
Prerequisites (Windows with Chakra):
* Windows 10 (latest)
* Python 2.6 or 2.7
* Visual Studio 2015 (RC or later)
* Windows 10 Tools (Bundled in Visual Studio 2015, or install separately.)
Windows with Chakra:
vcbuild chakra nosign [x86|x64|arm]
To build native addon modules with Chakra:
Assume [local_repo] is the dir of your local clone of this repo. Add your build of node.exe to the front of PATH:
set path=[local_repo]\release;%path%
To build a native addon module with bundled node-gyp:
node.exe [local_repo]\deps\npm\node_modules\node-gyp\bin\node-gyp.js rebuild --nodedir=[local_repo] --msvs_version=2015
To install a native addon module with bundled npm:
node.exe [local_repo]\deps\npm\bin\npm-cli.js install [native_addon] --nodedir=[local_repo] --msvs_version=2015
Prerequisites (Unix only):
* GCC 4.2 or newer
* G++ 4.2 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 2010 or 2012
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
Unix/Macintosh:
make test
Windows:
vcbuild test
make doc
man doc/node.1
Intl support is not enabled by default.
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.
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
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
pkg-config --modversion icu-i18n && ./configure --with-intl=system-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