Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

Building node.js on mingw

raycohen edited this page Nov 30, 2011 · 27 revisions

The latests versions of Node (v0.3.6 and better) can be built with mingw. This is work in progress; expect this node build to be unstable and very much incomplete.

Prerequisites

  • Windows xp sp2 or later
  • The latest mingw
    • use mingw-get-inst from mingw.org
    • install the developer toolkit as well as C and C++ compilers.
  • Python 2.7 from python.org
  • Git, preferably msysgit

Build steps

This will assume you're checking out and compiling node in c:\node.

  • Make sure python and git directories are in your path environment variable. A guide to editing path on windows can be found here.
  • Open the mingw bash shell
  • cd /c
  • git clone https://github.com/joyent/node.git
  • cd /c/node
  • ./configure --without-ssl
  • make
  • ./node.exe

Building with SSL support

To build node with ssl support you need to build OpenSSL first.

  • Download OpenSSL from openssl.org
  • Untar it. By default the node build script will look for openssl in ..\openssl, so if you put node in c:\node it will expect that openssl is c:\openssl.
  • Check that you have Perl installed with perl -v. Otherwise install it with mingw-get install perl
  • Configure OpenSSL by running ./configure no-shared mingw from the mingw shell
  • make
  • Do not attempt to make install
  • cd to the node directory
  • Reconfigure node without the --without-ssl option.
  • If ./configure does not detect openssl automatically, use the --openssl-libpath and --openssl-includes options to tell it where to look.
  • Rebuild node with make

Known issues

These are known issues with the build process. A list of known issues with mingw-built node can be found found in TODO.win32.

Git doesn't work from the mingw bash shell

Some people have reported problems getting this to work. If you are affected by this, use git from the windows command prompt.

Clone this wiki locally