Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


Mithgol edited this page · 205 revisions
Clone this wiki locally

Building and installing Node.js


  • GNU make 3.81 or newer. Pre-installed on most systems. Sometimes called gmake.

  • python 2.6 or 2.7. The build tools distributed with Node run on python.

  • libssl-dev (Node v0.6.x only.) Can usually be installed on *NIX systems with your favorite package manager. Pre-installed on OS X.

  • libexecinfo (FreeBSD and OpenBSD only.) Required by V8. pkg_add -r libexecinfo installs it.

Known Issues

If you receive an error during ./configure like this

File "/home/flo/node-v0.6.6/tools/waf-light", line 157, in <module>
     import Scripting
File "/home/flo/node-v0.6.6/tools/wafadmin/", line 146
     except Utils.WafError, e:
SyntaxError: invalid syntax

it is because Python3 is your default Python version. To fix this issue you have to set Python2 temporary as your default Python:

export PYTHON=`which python2`

Maybe you need to change your PYTHONHOME as well. If you have any further installation problems stop into #node.js on and ask questions.

Building on GNU/Linux and other UNIX

The filenames vary with the Node's version. The following examples are for Node v0.6.18.

Do something like this

tar -zxf node-v0.6.18.tar.gz #Download this from
cd node-v0.6.18
sudo make install

Or, if you'd like to install from the repository

git clone
cd node
git checkout v0.6.18 #Try checking for what the stable version is
sudo make install

You may wish to install Node in a custom folder instead of a global directory.

./configure --prefix=/opt/node
sudo make install

You can really speed up building process by adding -j argument with a number usually approximately equals number of cores plus one, so make -j 3 would be appropriate for dual-core processor.

You may want to put the node executables in your path as well for easier use. Add this line to your ~/.profile or ~/.bash_profile or ~/.bashrc or ~/.zshenv

export PATH=$PATH:/opt/node/bin

If you have SpiderMonkey installed, you may have some conflicting includes. Set CXXFLAGS="-I./deps/v8/src" before building to prioritize the v8 files over SpiderMonkey's.

Or use the one liner to install the latest node.js : bash < <(curl

Building on Mac OSX 10.8 with Xcode 4.5

  1. Install Command Line Tools
    Xcode: Preferences->Downloads install Command Line Tools
    Note: I installed Xcode 4.5 in /Applications/Xcode

  2. Download node.js src code

git clone
cd node
git checkout v0.8.2
  1. Compiling Source Code
export CC=/Applications/
export CXX=/Applications/
sudo make install

Building on Windows

You need python and Microsoft Visual Studio but not OpenSSL. In cmd.exe do the following

C:\Users\ryan>tar -zxf node-v0.6.5.tar.gz
C:\Users\ryan>cd node-v0.6.5
C:\Users\ryan\node-v0.6.5>vcbuild.bat release
[Wait 20 minutes]
> process.versions
{ node: '0.6.5',
  v8: '',
  ares: '1.7.5-DEV',
  uv: '0.6',
  openssl: '0.9.8r' }

The executable will be in Release\node.exe.

Installing without building

You may obtain pre-compiled Node.js binaries for several platforms from

Installing on Windows

Manual install

The file is a standalone Windows executable that contains only the last version of Node.js engine.

The directory contains the latest .zip archive of npm (such as when npm v1.1.16 was the latest).

Put node.exe to a clean directory, add that directory to your PATH variable, unpack npm to the same directory, and then you'll be able to run scripts (node scriptname.js) and install modules (npm install modulename) anywhere you want.

Manual update

To update Node, download the latest file and replace your old node.exe with it.

To update npm, run the npm update npm -g command.

Automatic install (with Microsoft Installer)

The directory contains the latest .msi package (such as node-v0.6.15.msi when Node v0.6.15 was the latest) that you may use to install both Node.js engine and npm.

Installing on Mac

The directory does contain the latest .pkg package (such as node-v0.6.15.pkg when Node v0.6.15 was the latest).

Something went wrong with that request. Please try again.