2016-03-28 20:56:29 +00:00
# Easy Install node.js
2017-11-03 20:51:47 +00:00
2017-10-29 03:41:44 +00:00
| Sponsored by [Daplie ](https://daplie.com ) |
2014-12-22 00:10:33 +00:00
2016-03-28 20:56:29 +00:00
Automated node.js installers for OS X and Ubuntu
2014-12-22 00:36:52 +00:00
2016-03-28 21:05:29 +00:00
**node.js only** (no dev tools)
2015-01-21 05:34:04 +00:00
2016-03-28 20:56:29 +00:00
```bash
2016-03-28 21:05:29 +00:00
# install node.js without development dependencies
2017-11-03 20:51:47 +00:00
curl -fsSL bit.ly/node-installer | bash -s --no-dev-deps
2015-01-21 02:34:25 +00:00
2016-03-28 20:56:29 +00:00
# using wget instead of curl (Ubuntu)
2017-11-03 20:51:47 +00:00
wget -nv bit.ly/node-installer -O - | bash -s --no-dev-deps
2016-03-28 20:56:29 +00:00
```
2014-12-22 00:36:52 +00:00
2015-12-09 20:40:29 +00:00
**node.js + dev tools**
2015-01-21 06:33:28 +00:00
2016-03-28 21:05:29 +00:00
Install node.js and basic development tools - git, node, gcc, pkg-config, etc
2016-03-28 20:35:23 +00:00
2016-03-28 20:56:29 +00:00
```bash
2017-11-03 20:51:47 +00:00
curl -fsSL bit.ly/node-installer -o ./node-installer.sh; bash ./node-installer.sh --dev-deps
# or wget
wget -nv bit.ly/node-installer -O - ./node-installer.sh; bash ./node-installer.sh --dev-deps
2015-01-20 00:09:36 +00:00
```
2017-11-03 20:51:47 +00:00
*Note*: [bit.ly/node-installer ](https://bit.ly/node-installer ) simple redirects to < https: // git . coolaj86 . com / coolaj86 / node-installer . sh / raw / master / install . sh >
2016-03-28 20:35:23 +00:00
2016-03-28 20:56:29 +00:00
## Screencast
[How to Setup a VPS for node.js Development ](https://www.youtube.com/watch?v=ypjzi1axH2A ) - [(3:06 installing node.js ](https://www.youtube.com/watch?v=ypjzi1axH2A#t=186 ))
2017-11-03 21:16:35 +00:00
## Options
### Choosing a specific version
2015-01-21 02:34:25 +00:00
2015-01-21 05:39:46 +00:00
```bash
2016-03-28 20:56:29 +00:00
echo "Current node.js version is $(curl -fsSL https://nodejs.org/dist/index.tab | head -2 | tail -1 | cut -f 1)"
2016-03-28 21:06:16 +00:00
```
```bash
2015-04-22 15:54:59 +00:00
# To install a specific version rather than defaulting to latest
2017-11-03 20:51:47 +00:00
# latest version at time of writing are v8.9.0 and v9.0.0
echo "v8.9.0" > /tmp/NODEJS_VER
2016-03-28 20:56:29 +00:00
```
2015-04-22 15:54:59 +00:00
2017-11-03 21:16:35 +00:00
### Choosing an install location
2017-11-03 21:11:57 +00:00
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).
```bash
export NPM_CONFIG_PREFIX=/tmp/user/local
export NODE_PATH=/tmp/user/local/lib/node_modules
curl -fsSL bit.ly/node-installer -o ./node-installer.sh; bash ./node-installer.sh --dev-deps
# If you want to add the install location to your PATH
PATH=$PATH:/tmp/user/local/bin
```
2016-03-28 20:56:29 +00:00
## Notes
2015-01-21 06:33:28 +00:00
2016-03-28 20:56:29 +00:00
* [OS X ](#apple-os-x )
* [Ubuntu Linux ](#ubuntu-linux )
* [Important Notes ](#other-things-you-should-know )
2014-12-22 00:36:52 +00:00
2016-03-28 20:56:29 +00:00
### Apple OS X
2015-01-21 02:34:25 +00:00
2015-01-21 05:45:27 +00:00
First you need to **Install XCode Command Line Tools**
2015-01-21 02:34:25 +00:00
2015-01-21 05:39:46 +00:00
```bash
2015-01-21 02:34:25 +00:00
xcode-select --install
```
2015-01-21 05:45:27 +00:00
Then you need to **Accept the XCode License** by running any command installed by Xcode with sudo. We'll use git.
2015-01-21 02:34:25 +00:00
2015-01-21 05:39:46 +00:00
```bash
sudo git --version
2015-01-21 02:34:25 +00:00
```
You can scroll to the bottom by hitting shift+G (capital G).
2015-01-15 22:59:32 +00:00
2015-01-21 02:34:25 +00:00
Type `agree` and hit enter to accept the license.
2015-01-15 22:59:32 +00:00
2015-12-09 20:40:29 +00:00
Now you can install node.js
2014-12-22 00:36:52 +00:00
2015-01-08 18:39:49 +00:00
```bash
2017-11-03 20:51:47 +00:00
curl -fsSL bit.ly/node-installer -o /tmp/node-installer.sh; bash /tmp/node-installer.sh --dev-deps
2014-12-22 00:36:52 +00:00
```
2015-01-21 02:34:25 +00:00
*TODO*: Make it easier to accepting the license (automatic?)
2016-03-28 20:56:29 +00:00
### Ubuntu Linux
2015-01-21 02:34:25 +00:00
2015-01-21 05:39:46 +00:00
```bash
2017-11-03 20:51:47 +00:00
wget -nv bit.ly/node-installer -O /tmp/node-installer.sh; bash /tmp/node-installer.sh --dev-deps
2015-01-21 02:34:25 +00:00
```
2016-03-28 20:56:29 +00:00
### Other things you should know
2015-01-21 02:34:25 +00:00
2014-12-22 00:36:52 +00:00
This is what gets installed:
* rsync
* curl
* wget
* git
2015-01-08 18:27:16 +00:00
* xcode / brew / build-essential / pkg-config / gcc
2015-12-09 20:40:29 +00:00
* node (including npm)
2014-12-22 00:36:52 +00:00
* jshint
2015-01-08 18:17:15 +00:00
2017-05-25 17:20:00 +00:00
**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.