ホーム >  JavaScript >  NVMを使用してNode.jsをインストールする


Posted:2016/11/05 9:00:55 AM|Category : JavaScript

NVMを使用してNode.jsをインストールする

クローラー、エージェントに利用するNode.jsの開発環境を構築します。

node-js-736399_640

Node.jsとは?

サーバサイドJavaScriptと呼ばれています。量の処理に対応するために、Socket.ioやノンブロッキングI/Oというモデルを採用し、MicrosoftやYahoo!などITの大手企業がNode.jsを推薦しています。

ノンブロッキングI/O

データベースから大量の情報を取得してWebページ上に表示をすると、データベースへアクセスしている時間に待ち時間(ブロック)が発生するため、ページの表示が遅くなります。

ノンブロッキングI/Oでは非同期処理をおこなうことで、データベースへのアクセスとWebページの表示を別々におこなってくれて、ストレスなくページの表示ができます。

NVMとは?

nvm とは「Node.js version manager」の略です。nvmを使用することで、複数のバージョンのNode.jsを簡単に管理することができます。そのため、要求に応じ、自分の環境にインストールされた最新のNode.js以外にも以前のバージョンのNode.js を使用できます。

準備

仮想環境とセットで使いますので、先にvagrantをインストールしておきましょう。

Vagrantをインストールしてテスト環境を作る for Ubuntu

私の環境

ホストOS Ubuntu 14.04.4 LTS 64bit
CPU Core i5 2520M 2.50GHz

NVMをインストール

①以下の手順でコマンドを入力し、前回インストールしたvagrant環境にログインします。

cd vagrant
vagrant up
vagrant ssh

※もし、「vagrant up」で「Authentication failure. Retrying…」メッセージが止まらない場合は、vagrantを1.8.6にアップグレードして下さい。

Vagrant 1.8.6にアップグレードしてvagrant sshのバグを解決

②以下のページからインストールするNVMのバージョンを確認します。

nvm

※今回は「v0.32.1」をインストールします。

③Git Hub ページからインストールスクリプトを取得して実行します。以下のコマンドを入力して下さい。(バージョン番号部分は適宜Git Hub ページで確認してください)

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash

以下のメッセージが表示されれば完了です。

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 10250  100 10250    0     0  31119      0 --:--:-- --:--:-- --:--:-- 31155
=> Downloading nvm as script to '/home/vagrant/.nvm'

=> Appending source string to /home/vagrant/.bashrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:

export NVM_DIR="/home/vagrant/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm

④スクリプトを実行することで、「~/.bash_profile」、「 ~/.zshrc」、「 ~/.profile」のいずれかに修正がされるので、インストールが完了したらターミナルを開きなおしてください。

exit

Node.jpをインストール

①再度、vagrant環境にログインします。

cd vagrant
vagrant up
vagrant ssh

②「Node.jp v0.12.4」をインストールします。

nvm install v0.12.4
nvm alias default v0.12.4

③以下のコマンドでインストールしたNode.jpのバージョンを確認しましょう。

node -v

以下のように出れば正しくインストールされています。

v0.12.4

④試しにNode.jpを動かしてみます。以下のようなコマンドを実行して「8」が表示できるか確認しましょう。

node
3 + 5
8

⑤nvmでNode.jpをインストールすると、sudoコマンドを使うときにnpmやnodeコマンドを利用できません。sudoコマンド実行時のパスと普段のユーザのパスを同じにします。以下のコマンドを実行してエディタを起動します。

sudo visudo

⑥viエディターが起動します。「i」を押して入力モードに切り替えて以下のように編集します。

(env_resetを無効にする)

Defaults   env_reset

Defaults   !env_reset

(HOMEを追加にする)

#Defaults   env_keep += "HOME"

Defaults   env_keep += "HOME"

(Pathを書き換えない)

Defaults   secure_path = /sbin:/bin:/usr/sbin:/usr/bin

#Defaults   secure_path = /sbin:/bin:/usr/sbin:/usr/bin

⑦「ESC」キーをクリックしてコマンドモードに、「:wp」を押して保存終了します。ログアウトして再ログインすると反映されます。

gitをインストール

様々なオープンソースをローカルに取得するため、gitもインストールしておきます。

①vagrant環境にssh接続した状態で、以下のコマンドを入力しgitをインストールしましょう。

sudo yum install git

②「Is this ok [y/d/N]:」と表示されますので、「y」を入力してEnterしましょう。

仮想マシーンの中のWebサーバを利用可能にする

ホストPCから、ゲストPC(vagrantのCentOS)のサーバにアクセスできません。アクセスできるように、設定を変更します。

①vagrantfileに以下の記述を加えます。「end」より上に記述して下さい。

  config.vm.network "forwarded_port" , guest: 80, host: 8080
  config.vm.network "private_network" , ip: "192.168.33.10"

②設定を変更したら、vagrantをリロードします。

vagrant reload

一行目:仮想マシーンのWebサーバのポート「80」が、ホストOSのポート「8080」に割り当てられます。

二行目:仮想マシーンのIPアドレスを、「192.168.33.10」に割り当てます。

仮想マシーンのフォルダへアクセスするには?

ホストOS側は、Vagrantの仮想マシーンを作成したディレクトリ(「Vagrantfile」が設置されているフォルダ)が共有フォルダになります。

ゲストOS側については、「/vagrant」が共有フォルダとしてマウントされます。

※任意のフォルダを指定することもできます。

ホストPCと仮想PC(ゲストPC)でディレクトリを共有する

ホストPCとゲストPC(vagrantのCentOS)でディレクトリを共有します。

①ホストPC側に共有するためのディレクトリ「src」を用意します。

  • home/
  • user/
  • vagrant/
  •  src/

②vagrantfileに以下の記述を加えます。

Vagrant.configure("2") do |config|
〜省略〜
  config.vm.synced_folder "src/", "/home/vagrant/git_cloner"
〜省略〜
end

・ゲストPC側は、「/home/vagrant/git_cloner」を共有ディレクトリとします。

CentOSで使いやすいエディタのインストール

ゲストOS(仮想マシン)上のファイルを編集することがありますが、通常はviを利用します。ただ、viは初心者には使いづらいため、以下のようにnanoエディタを仮想マシンにインストールします。

sudo yum install nano

トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 2008年04月 金融機関系I

最近の投稿
人気記事
カテゴリー
広告