Standalone Node.js application

Update 2017-05-04: And there's a new kid in town:

  • PKG (by zeit)

Update 2016-11-14: Nowadays Electron and nwjs seem like the best options.

  • Electron
  • nwjs-builder

Original:

There are a number of steps you have to go through to create an installer and it varies for each Operating System. For Example:

  • on Mac OS X you need to create a .pkg, there are instructions on how to do that here: https://coolaj86.com/articles/how-to-create-an-osx-pkg-installer.html
  • on Ubuntu Linux you need to create a .deb, there are instruction on how to do that here: https://coolaj86.com/articles/how-to-create-a-debian-installer.html
  • on Microsoft Windows you need to create a .exe or .msi, there are instruction on how do that using the innosetup installer here: https://coolaj86.com/articles/how-to-create-an-innosetup-installer.html

You can bundle the binaries with your application. Won't have to install anything to run a Node app. The binaries are available on the same page as the installers.

You'll just have to know where the binaries are, but I assume you've got an installer that can put them somewhere known.

// To start the node process
$ /path/to/binaries/npm install
$ /path/to/binaries/node myApp.js

Node-Webkit is an option, but it really isn't set-up to do a "server - client" type relationship.

Another option is packaging the node.js installers with you application installer. Then when the application boot you can spin up a node.js process. I know some developers have been doing this with titanium, here is a little bit more information information.

Hope this helps!


Here's an option: Light Table is a node app, but installs nicely and integrates the GUI (webkit) cleanly on most OSs.

To do this it leverages node-webkit. (Runs node code straight from an html page.) Here is the packaging documentation.