Ubuntu14.04にNode.jsをインストールしnでバージョン管理を行う

UbuntuにNode.jsをインストールしnでバージョン管理しようと思います。

#Ubuntu環境
Ubuntu環境は14.04.5 LTSの64bitです。

```:terminal
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.5 LTS"
```
```:terminal
$ arch
x86_64
```

#nのインストール
Node.jsのバージョン管理を行うためのパッケージであるnをインストールします。

```:terminal
$ sudo npm install -g n
npm http GET https://registry.npmjs.org/n
npm http 200 https://registry.npmjs.org/n
npm http GET https://registry.npmjs.org/n/-/n-2.1.8.tgz
npm http 200 https://registry.npmjs.org/n/-/n-2.1.8.tgz
/usr/local/bin/n -> /usr/local/lib/node_modules/n/bin/n
n@2.1.8 /usr/local/lib/node_modules/n
```

#最新の安定版（LTS）のNode.jsをインストール

```:terminal
$ sudo n lts

     install : node-v6.11.0
       mkdir : /usr/local/n/versions/node/6.11.0
       fetch : https://nodejs.org/dist/v6.11.0/node-v6.11.0-linux-x64.tar.gz
                                                                           
0.2%                                                                           
0.7%#                                                                          
1.6%##                                                                         
3.2%####                                                                       
6.6%#########                                                                 
13.0%###########                                                               
///省略///     
95.4%######################################################################    
98.6%######################################################################## 100.0%
   installed : v6.11.0
```

#最新のNode.jsをインストール
今の最新LTSは6.11.0、最新は8.1.3です。
頻繁にアップデートしますので最新のバージョンは[ここ](https://nodejs.org/en/)をみてます。

```:terminal
$ sudo n latest
     install : node-v8.1.3
       mkdir : /usr/local/n/versions/node/8.1.3
       fetch : https://nodejs.org/dist/v8.1.3/node-v8.1.3-linux-x64.tar.gz
0.0%                                                                           
1.2%#
//省略//
97.5%######################################################################## 100.0%
   installed : v8.1.3
```

#インストールしたバージョンのリスト表示

```:terminal
$ n
    node/6.11.0
  ο node/8.1.3
```
アクティブになっているバージョンの確認もしておきます。

```:terminal
$ node -v
v8.1.3
```

#apt-getからインストールしたNode.jsを削除
nを利用してインストールしたNode.jsとubuntuのapt-getからインストールしたNode.jsはnodeコマンドとnodejsコマンドによって使い分けが出来るようになっています。私最初apt-getからダウンロードしたので以下と表示されました。

```:terminal
$ nodejs -v
v0.10.25
```
紛らわしいのでubuntuのapt-getからダウンロードしたほうは削除しておきます。

```:terminal
$ sudo apt-get purge -y nodejs npm
パッケージリストを読み込んでいます... 0%パッケージリストを読み込んでいます... 100%パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 0%          依存関係ツリーを作成しています... 0%依存関係ツリーを作成しています... 50%依存関係ツリーを作成しています... 50%依存関係ツリーを作成しています       
状態情報を読み取っています... 0%状態情報を読み取っています... 0%状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  gyp libc-ares-dev libc-ares2 libjs-node-uuid libv8-3.14-dev libv8-3.14.5
これを削除するには 'apt-get autoremove' を利用してください。
以下のパッケージは「削除」されます:
  node-abbrev* node-ansi* node-archy* node-async* node-block-stream*
  node-combined-stream* node-cookie-jar* node-delayed-stream*
  node-forever-agent* node-form-data* node-fstream* node-fstream-ignore*
  node-github-url-from-git* node-glob* node-graceful-fs* node-gyp*
  node-inherits* node-ini* node-json-stringify-safe* node-lockfile*
  node-lru-cache* node-mime* node-minimatch* node-mkdirp* node-mute-stream*
  node-node-uuid* node-nopt* node-normalize-package-data* node-npmlog*
  node-once* node-osenv* node-qs* node-read* node-read-package-json*
  node-request* node-retry* node-rimraf* node-semver* node-sha* node-sigmund*
  node-slide* node-tar* node-tunnel-agent* node-which* nodejs* nodejs-dev*
  npm*
アップグレード: 0 個、新規インストール: 0 個、削除: 47 個、保留: 14 個。
この操作後に 7,896 kB のディスク容量が解放されます。
(データベースを読み込んでいます ... (データベースを読み込んでいます ... 5%(データベースを読み込んでいます ... 10%(データベースを読み込んでいます ... 15%(データベースを読み込んでいます ... 20%(データベースを読み込んでいます ... 25%(データベースを読み込んでいます ... 30%(データベースを読み込んでいます ... 35%(データベースを読み込んでいます ... 40%(データベースを読み込んでいます ... 45%(データベースを読み込んでいます ... 50%(データベースを読み込んでいます ... 55%(データベースを読み込んでいます ... 60%(データベースを読み込んでいます ... 65%(データベースを読み込んでいます ... 70%(データベースを読み込んでいます ... 75%(データベースを読み込んでいます ... 80%(データベースを読み込んでいます ... 85%(データベースを読み込んでいます ... 90%(データベースを読み込んでいます ... 95%(データベースを読み込んでいます ... 100%(データベースを読み込んでいます ... 現在 231457 個のファイルとディレクトリがインストールされています。)
npm (1.3.10~dfsg-1) を削除しています ...
npm (1.3.10~dfsg-1) の設定ファイルを削除しています ...
node-gyp (0.10.10-2) を削除しています ...
node-nopt (2.1.2-1) を削除しています ...
node-abbrev (1.0.4-2) を削除しています ...
node-npmlog (0.0.4-1) を削除しています ...
node-ansi (0.2.1-1) を削除しています ...
node-archy (0.0.2-1) を削除しています ...
node-request (2.26.1-1) を削除しています ...
node-form-data (0.1.0-1) を削除しています ...
node-async (0.2.5-1) を削除しています ...
node-tar (0.1.18-1) を削除しています ...
node-block-stream (0.0.7-1) を削除しています ...
node-combined-stream (0.0.4-1) を削除しています ...
node-cookie-jar (0.3.1-1) を削除しています ...
node-delayed-stream (0.0.5-1) を削除しています ...
node-forever-agent (0.5.1-1) を削除しています ...
node-fstream-ignore (0.0.6-2) を削除しています ...
node-fstream (0.1.24-1) を削除しています ...
node-read-package-json (1.1.3-1) を削除しています ...
node-normalize-package-data (0.2.2-1) を削除しています ...
node-github-url-from-git (1.1.1-1) を削除しています ...
node-glob (3.2.6-1) を削除しています ...
node-graceful-fs (2.0.0-2) を削除しています ...
node-inherits (2.0.0-1) を削除しています ...
node-ini (1.1.0-1) を削除しています ...
node-json-stringify-safe (5.0.0-1) を削除しています ...
node-lockfile (0.4.1-1) を削除しています ...
node-minimatch (0.2.12-1) を削除しています ...
node-lru-cache (2.3.1-1) を削除しています ...
node-mime (1.2.11-1) を削除しています ...
node-mkdirp (0.3.5-1) を削除しています ...
node-read (1.0.4-1) を削除しています ...
node-mute-stream (0.0.3-1) を削除しています ...
node-node-uuid (1.4.0-1) を削除しています ...
node-once (1.1.1-1) を削除しています ...
node-osenv (0.0.3-1) を削除しています ...
node-qs (0.6.5-1) を削除しています ...
node-retry (0.6.0-1) を削除しています ...
node-rimraf (2.2.2-2) を削除しています ...
node-semver (2.1.0-2) を削除しています ...
node-sha (1.2.3-1) を削除しています ...
node-sigmund (1.0.0-1) を削除しています ...
node-slide (1.1.4-1) を削除しています ...
node-tunnel-agent (0.3.1-1) を削除しています ...
node-which (1.0.5-2) を削除しています ...
nodejs-dev (0.10.25~dfsg2-2ubuntu1) を削除しています ...
nodejs (0.10.25~dfsg2-2ubuntu1) を削除しています ...
doc-base (0.10.5) のトリガを処理しています ...
doc-base ファイルを 5 個削除 を処理中...
scrollkeeper をドキュメントとして登録しています...
man-db (2.6.7.1-1ubuntu1) のトリガを処理しています ...
```

削除されました。

```:terminal
$ nodejs -v
-bash: /usr/bin/nodejs: そのようなファイルやディレクトリはありません
```

#nを使ってみる
###バージョンの一覧を全て表示

```:terminal
$ n list
    0.0.1
    0.0.2
    0.0.3
///省略///
    6.10.2
    6.10.3
    6.11.0 
    7.0.0
    7.1.0
    7.2.0
    7.2.1
    7.3.0
    7.4.0
    7.5.0
    7.6.0
    7.7.0
    7.7.1
    7.7.2
    7.7.3
    7.7.4
    7.8.0
    7.9.0
    7.10.0
    8.0.0
    8.1.0
    8.1.1
    8.1.2
  ο 8.1.3 
```

###特定のバージョンへ切替え
最新のLTSである6.11.0に切り替えます。

```:terminal
$ sudo n 6.11.0
$ node -v
v6.11.0
```

よし。できた。