3.0 KiB

Easy Install node.js

| Sponsored by Daplie |

Automated node.js installers for OS X and Ubuntu

node.js only (no dev tools)

# install node.js without development dependencies
curl -fsSL | bash -s --no-dev-deps

# using wget instead of curl (Ubuntu)
wget -nv -O - | bash -s --no-dev-deps

node.js + dev tools

Install node.js and basic development tools - git, node, gcc, pkg-config, etc

curl -fsSL -o ./; bash ./ --dev-deps

# or wget
wget -nv -O - ./; bash ./ --dev-deps

Note: simple redirects to


How to Setup a VPS for node.js Development - (3:06 installing node.js)

Choosing a specific version

echo "Current node.js version is $(curl -fsSL | head -2 | tail -1 | cut -f 1)"
# To install a specific version rather than defaulting to latest
# latest version at time of writing are v8.9.0 and v9.0.0
echo "v8.9.0" > /tmp/NODEJS_VER

Choosing an install location

Just set BOTH NODE_PATH and NPM_CONFIG_PREFIX. The install path will be the preceding lib/node_modules (which you usually want to be the same as NPM_CONFIG_PREFIIX anyway).

export NPM_CONFIG_PREFIX=/tmp/user/local
export NODE_PATH=/tmp/user/local/lib/node_modules

curl -fsSL -o ./; bash ./ --dev-deps

# If you want to add the install location to your PATH


Apple OS X

First you need to Install XCode Command Line Tools

xcode-select --install

Then you need to Accept the XCode License by running any command installed by Xcode with sudo. We'll use git.

sudo git --version

You can scroll to the bottom by hitting shift+G (capital G).

Type agree and hit enter to accept the license.

Now you can install node.js

curl -fsSL -o /tmp/; bash /tmp/ --dev-deps

TODO: Make it easier to accepting the license (automatic?)

Ubuntu Linux

wget -nv -O /tmp/; bash /tmp/ --dev-deps

Other things you should know

This is what gets installed:

  • rsync
  • curl
  • wget
  • git
  • xcode / brew / build-essential / pkg-config / gcc
  • node (including npm)
  • jshint

NOTE: If you're running a node.js server on an edge server, I'd highly recommend that you also install fail2ban to secure ssh - especially if you haven't switched your server to use key-only authentication.