UbuntuにNode.jsをインストールする

初投稿です。
以下Node.jsの環境構築手順です。
私はWindows7ノートPCにOracleVMVirtualBoxで仮想Ubuntuを起動させてセットアップしてます
以下OSの情報です。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/178016/7921afa9-8488-40f2-a269-d8cf0e433428.png)


#nvmのインストール
Node.jsを使う前に、Node.jsを使った開発をおこないやすくするツールとしてNVM（Node Version Manager）を導入します。

Node.jsのバージョンによって動作しない機能があった場合に、バージョンの上げ下げを渋々おこなうのはかなりの手間です。nvmをインストールしておくことで、バージョンの切り替えが凄く簡単にできるようになるらしいです。

```text
$ git clone https://github.com/creationix/nvm.git ~/.nvm
$ source ~/.nvm/nvm.sh
```
![image.png](https://qiita-image-store.s3.amazonaws.com/0/178016/6ec2d8cf-388a-52ac-d2d4-779567435e2f.png)

>gitコマンドが使えない場合には以下を参考にしてgitコマンドをインストールします。
http://go.shr.lc/S1cOGZ

nvmコマンドの動作確認。 エラーが出ないでhelpが表示されればOK。バージョンはnvm --versionで確認できます。

```text
$ nvm help
Node Version Manager

Note: <version> refers to any version-like string nvm understands. This includes:
  - full or partial version numbers, starting with an optional "v" (0.10, v0.1.2, v1)
･･･
```
```test
$ nvm --version
0.33.2
```

#nvmコマンドでNode.jsをインストール

nvm ls-remoteでダウンロード可能なNode.jsのバージョンリストが見れます。
Node.jsは偶数のバージョンがLTS版（安定版）、奇数のバージョンが最新版らしいです。現在（2017年5月13日)は、LTSが6.10.3となっていて、最新版が7.10.0となっています。

Node.jsの最新機能を使いたい場合は最新版、業務などで長期的な運用を行う場合やフロントエンド開発のツールとしてNode.jsを使う場合などはLTS版など、用途で使い分けてるようです。

```test
$ nvm ls-remote
v0.1.14
v0.1.15
v0.1.16
・
・
・
v7.10.0
```
次にコマンドを利用します。今回は最新バージョンの7.10.0をインストールしてみました。

```text
$ nvm install 7.9.0
Downloading and installing node v7.10.0...
```
```text
$ node -v
v7.10.0
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/178016/ed693f50-1fb0-567e-7a68-9f3aa9414c7e.png)

エラーがでなければNode.jsのインストール完了。

#nvmの設定
nvmコマンドは、このままだとターミナル再起動時に同じような手順をおこなわないと使えませんのでいつでも使えるように設定しておく。
まずはデフォルトのNode.jsのバージョンを指定。

```
$ nvm alias default v7.10.0
default -> v7.10.0
```

~/.bash_profileを、ターミナル起動時にnvmコマンドが適用されるように設定。

```
$ vi ~/.bash_profile
```
![image.png](https://qiita-image-store.s3.amazonaws.com/0/178016/bd578567-7cee-da88-9421-1f35db68f19d.png)

viは入力モードとコマンドモードを切り替えて操作します。
初期状態はコマンドモードでテキスト入力はできませんが、iを押す事で入力モードに切り替わり入力可能になります。矢印キーなどでファイルの末尾に移動してからiを押して、以下を追記してください。

```
if [[ -s ~/.nvm/nvm.sh ]];
 then source ~/.nvm/nvm.sh
fi
```
![image.png](https://qiita-image-store.s3.amazonaws.com/0/178016/43dda007-b205-497d-e629-dd099a5c7fe5.png)

編集が終わったらESC（エスケープ）キーでコマンドモードに切り替わります。
その後:wqと入力してエンターキーを押しましょう。ファイルが保存され元の画面に戻ります。
※ここの作業が不安な人は、他のエディタで編集しても問題なし。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/178016/c2ffbcc8-12d8-2a86-0d9f-5d57fedb643c.png)

これで次回以降ターミナルを起動したときでも、Node.jsが使えるようになりました。

#Node.jsでHello World
Hello Worldをやってみます。
Node.jsはコマンドライン上で動作しますが、Webブラウザ上で動作確認をしてみます。

エディタでexample.jsというファイルを作成し、以下のコードを書きましょう。
GUIでも作れますが私はviコマンドでコード書きました。

```
const http = require('http');
const PORT = 8124;
 
http.createServer((request, response) => {
  response.writeHead(200, {'Content-Type': 'text/plain'});
  response.end('Hello World!\n');
}).listen(PORT);
  
console.log(`Server running at http://localhost:${PORT}/`);
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/178016/fcfc6cce-3538-5942-5d6a-bf1392f155a1.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/178016/abf723e5-19ba-9569-7d13-82378acb178e.png)

実行してみます。

```
$ node example.js
 
Server running at http://localhost:8124/
```
ターミナルが待ち受け状態になります。
この状態でブラウザから http://localhost:8124 にアクセスしてみましょう。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/178016/253a8018-f211-c7dd-5811-74e24baa58b6.png)

きたーーーー！！
実行していたexampleファイルはCtr+Cで抜けられます。
これでNode.jsが使える状態になったことがわかります。

さて、Node.jsこれから勉強します。