2016-03-28 16:56:29 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Easy Install node.js
  
						 
					
						
							
								
									
										
										
										
											2017-11-03 14:51:47 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-10-29 03:41:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								| Sponsored by [Daplie ](https://daplie.com ) |
							 
						 
					
						
							
								
									
										
										
										
											2014-12-21 17:10:33 -07:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-28 16:56:29 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Automated node.js installers for OS X and Ubuntu
							 
						 
					
						
							
								
									
										
										
										
											2014-12-21 17:36:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-28 17:05:29 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								**node.js only** (no dev tools)
							 
						 
					
						
							
								
									
										
										
										
											2015-01-20 22:34:04 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-28 16:56:29 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```bash
							 
						 
					
						
							
								
									
										
										
										
											2016-03-28 17:05:29 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# install node.js without development dependencies
  
						 
					
						
							
								
									
										
										
										
											2017-11-03 14:51:47 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								curl -fsSL bit.ly/node-installer | bash -s --no-dev-deps
							 
						 
					
						
							
								
									
										
										
										
											2015-01-20 19:34:25 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-28 16:56:29 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# using wget instead of curl (Ubuntu)
  
						 
					
						
							
								
									
										
										
										
											2017-11-03 14:51:47 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								wget -nv bit.ly/node-installer -O - | bash -s --no-dev-deps
							 
						 
					
						
							
								
									
										
										
										
											2016-03-28 16:56:29 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2014-12-21 17:36:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-12-09 12:40:29 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								**node.js + dev tools**
							 
						 
					
						
							
								
									
										
										
										
											2015-01-20 23:33:28 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-28 17:05:29 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Install node.js and basic development tools - git, node, gcc, pkg-config, etc
							 
						 
					
						
							
								
									
										
										
										
											2016-03-28 16:35:23 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-28 16:56:29 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```bash
							 
						 
					
						
							
								
									
										
										
										
											2017-11-03 14:51:47 -06: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-19 17:09:36 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-11-03 14:51:47 -06: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 16:35:23 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-28 16:56:29 -04: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 ))
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								## Choosing a specific version
  
						 
					
						
							
								
									
										
										
										
											2015-01-20 19:34:25 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-01-20 22:39:46 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```bash
							 
						 
					
						
							
								
									
										
										
										
											2016-03-28 16:56:29 -04: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 17:06:16 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```bash
							 
						 
					
						
							
								
									
										
										
										
											2015-04-22 09:54:59 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# To install a specific version rather than defaulting to latest
  
						 
					
						
							
								
									
										
										
										
											2017-11-03 14:51:47 -06: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 16:56:29 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2015-04-22 09:54:59 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-11-03 15:11:57 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## 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).
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```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 16:56:29 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Notes
  
						 
					
						
							
								
									
										
										
										
											2015-01-20 23:33:28 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-28 16:56:29 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								*  [OS X ](#apple-os-x ) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  [Ubuntu Linux ](#ubuntu-linux ) 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  [Important Notes ](#other-things-you-should-know ) 
						 
					
						
							
								
									
										
										
										
											2014-12-21 17:36:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-28 16:56:29 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								### Apple OS X
  
						 
					
						
							
								
									
										
										
										
											2015-01-20 19:34:25 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-01-20 22:45:27 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								First you need to **Install XCode Command Line Tools** 
							 
						 
					
						
							
								
									
										
										
										
											2015-01-20 19:34:25 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-01-20 22:39:46 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```bash
							 
						 
					
						
							
								
									
										
										
										
											2015-01-20 19:34:25 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								xcode-select --install
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-01-20 22:45:27 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Then you need to **Accept the XCode License**  by running any command installed by Xcode with sudo. We'll use git.
							 
						 
					
						
							
								
									
										
										
										
											2015-01-20 19:34:25 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-01-20 22:39:46 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```bash
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								sudo git --version
							 
						 
					
						
							
								
									
										
										
										
											2015-01-20 19:34:25 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								You can scroll to the bottom by hitting shift+G (capital G).
							 
						 
					
						
							
								
									
										
										
										
											2015-01-15 15:59:32 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-01-20 19:34:25 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Type `agree`  and hit enter to accept the license.
							 
						 
					
						
							
								
									
										
										
										
											2015-01-15 15:59:32 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-12-09 12:40:29 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Now you can install node.js
							 
						 
					
						
							
								
									
										
										
										
											2014-12-21 17:36:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-01-08 11:39:49 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```bash
							 
						 
					
						
							
								
									
										
										
										
											2017-11-03 14:51:47 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								curl -fsSL bit.ly/node-installer -o /tmp/node-installer.sh; bash /tmp/node-installer.sh --dev-deps
							 
						 
					
						
							
								
									
										
										
										
											2014-12-21 17:36:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-01-20 19:34:25 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								*TODO*: Make it easier to accepting the license (automatic?)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-28 16:56:29 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								### Ubuntu Linux
  
						 
					
						
							
								
									
										
										
										
											2015-01-20 19:34:25 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-01-20 22:39:46 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```bash
							 
						 
					
						
							
								
									
										
										
										
											2017-11-03 14:51:47 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								wget -nv bit.ly/node-installer -O /tmp/node-installer.sh; bash /tmp/node-installer.sh --dev-deps
							 
						 
					
						
							
								
									
										
										
										
											2015-01-20 19:34:25 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-28 16:56:29 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								### Other things you should know
  
						 
					
						
							
								
									
										
										
										
											2015-01-20 19:34:25 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-12-21 17:36:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								This is what gets installed:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  rsync 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  curl 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  wget 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  git 
						 
					
						
							
								
									
										
										
										
											2015-01-08 11:27:16 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								*  xcode / brew / build-essential / pkg-config / gcc 
						 
					
						
							
								
									
										
										
										
											2015-12-09 12:40:29 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								*  node (including npm) 
						 
					
						
							
								
									
										
										
										
											2014-12-21 17:36:52 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								*  jshint 
						 
					
						
							
								
									
										
										
										
											2015-01-08 11:17:15 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-05-25 11:20:00 -06: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.