3.9 KiB
Easy Install node.js
| Sponsored by ppl |
Simple node.js installer for macOS and Linux
QuickStart
curl -fsL bit.ly/node-installer | bash
Note: bit.ly/node-installer is a redirect to https://git.coolaj86.com/coolaj86/node-installer.sh/raw/master/install.sh
Screencast
How to Setup a VPS for node.js Development - (3:06 installing node.js)
Installer Options
- version
- install location
- tools for building native modules
Choose Version
The latest version of node is installed by default.
You can choose a specific version by defining NODE_VERSION
in the format vX
, vX.Y
, or v.X.Y.Z
:
NODE_VERSION=v10
Usage:
export NODE_VERSION=v10.10
curl -fsSL https://bit.ly/node-installer | bash
Location
By default node will be installed to /usr/local
, without root if possible.
You can choose a specific location by setting both NPM_CONFIG_PREFIX
and NODE_PATH
:
export NPM_CONFIG_PREFIX=$HOME/.local/
export NODE_PATH=$NPM_CONFIG_PREFIX/lib/node_modules
curl -fsSL https://bit.ly/node-installer | bash
If you want to add the install location to your PATH
, add /bin
to the custom location used above and append it like so:
PATH=$PATH:$HOME/.local/bin
Development Tools
If you plan on building or creating native node modules, you'll want to install gcc
, pgk-config
, and a few other required tools and niceties.
In fact, it's fairly common for modules to have both native module and pure js dependencies, so you'll probably want (or need) to install these even if you don't plan to use them directly.
- curl & wget
- git
- rsync
- xcode, brew (on macOS), build-essential (Linux)
- gcc, pkg-config
- pkg-config
- node.js, jshint
Pass --dev-deps
to the installer script and it will use either brew
(on macOS) or apt
(on Linux) to install the development tools.
curl -fsSL https://bit.ly/node-installer | bash -s -- --dev-deps
Or, if you don't have curl
installed yet you can use wget
:
wget -nv https://bit.ly/node-installer -O - | bash -s -- --dev-deps
Securing your server
If you're running a node.js server on anything with a public ip address
(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 (which you should also do).
See The 15-Minute Guide to Secure VPS Access (for the Semi-Paranoid)
Notes
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 https://bit.ly/node-installer -o /tmp/node-installer.sh; bash /tmp/node-installer.sh --dev-deps
TODO: Make it easier to accepting the license (automatic?)
Ubuntu Linux
wget -nv https://bit.ly/node-installer -O /tmp/node-installer.sh; bash /tmp/node-installer.sh --dev-deps
Automatic Version Detection
Fun FYI, here's how the latest version is determined:
NODE_VERSION=$(curl -fsSL https://nodejs.org/dist/index.tab | tail -n +2 | cut -f 1 | head -1 )
echo "The current node.js version is $NODE_VERSION"
BASE_VER="v10\\."
NODE_VERSION=$(curl -fsSL https://nodejs.org/dist/index.tab | tail -n +2 | cut -f 1 | grep $BASE_VER | head -1 )
echo "Latest node.js $BASE_VER is $NODE_VERSION"