Scientific Linux 6.3 上にnode.jsをインストール

September 28, 2012 – 11:27 am

node.jsをインストールした。
関連する解説記事をながめると、インストール方法として複数の方法が紹介されているが、私の経験では、node.jsのバージョン管理用ツールnvmを介するのが一番簡単で、安定しているように思う。
ここでは、node.jsの機能と特徴について触れるとともに、nvmを介したインストール方法をメモしておいた。

node.jsとは?: node.jsの説明としては、私のみかけた範囲では、gihyou.jpの解説記事が最も分かりやすい。以下、関連部分を転載させてもらう:

Node.jsとは、ブラウザGoogle Chrome用に開発されたJavaScriptエンジンV8がサーバ上でプログラムを実行できるように、ファイルやネットワークI/Oなど多くの機能を追加したものです。軽量で効率よく多くのリクエストを処理するネットワークアプリケーションの構築ができるプラットフォームになっています。いわゆるサーバサイドJavaScriptの代名詞として注目を集めています。

Node.jsでは”軽量で効率良く”というのを実現するために次の2つのモデルを採用しています。

  • ノンブロッキングI/O
  • イベントループ

JavaScriptの1つの特徴にシングルスレッドで動作することがあります。これはNode.jsでも同様で,デッドロックなどを意識する必要がなくなります反面一度に1つの処理しかできないため複数の処理を捌けません。そのためNode.jsではノンブロッキングI/Oを採用しています。たとえば,データベースにアクセスして検索を実行して結果を取得する。この場合,データベースに問い合わせてから結果が返ってくるまで,待ち時間があります。一般的にはライブラリなどでデータベースから結果が返るまでの間,呼び出し元の処理を止めておきます。そのため結果を利用した処理を続けて定義できます。それに対してノンブロッキングI/Oは,データベースに問い合わせたら次の処理に移ります。結果の受け取りはコールバックで実現します。このように基本的に重い入出力処理は非同期で実行するのがノンブロッキングI/Oです。

さらにリクエストやコールバックの発生はイベントとして扱い(登録し),そのイベントに関する処理が終わったら,次のイベントを処理する。このようなイベントループをNode.jsは採用しています。

インストール手順: nvmを用いてnode.jsをScientific Linux 6.3上にインストールした手順概略を以下に記す。

  1. node.js を専用で扱うユーザnodeの作成
    # adduser node
    # passwd node
    # chown node:node
    
  2. GitHub からnvm を取得、nodeのホームディレクトリに .nvm ディレクトリを作成、そこにリポジトリーの複製を作成し、その後、 nvm を有効にしてやればよい。
    $ clone git://github.com/creationix/nvm.git ~/.nvm
    $ . ~/.nvm/nvm.sh
    
  3. nvm によりnode.jsの最終バージョン(インストール時点では v0.8.9 )をインストール
    $ nvm install v0.8.9
    インストールに10分程度要する。
    インストール終了後、installed versionの確認と、使用可能なnode のバージョンの確認

    $ nvm ls
    $ node -v
    

以上で、node.jsの使用環境が整うことになる。

ここで注意点、ユーザーをログオフすると、node.js の環境がリセットされてしまう。 このため、ユーザー node にログイン時に「自動的に」使用したいバージョン(ここでは、v0.8.9) でnode.js の環境がセットされるよう node ホームディレクトリ配下の.bash_profileに次の行を追加しておく:

source ~/.nvm/nvm.sh
nvm use "v0.8.9”

これで node.js がらみの作業をする際には、ユーザーnodeでログインすればよい。

なお、node.jsは頻繁に更新される。新しいバージョンのインストールは、上記手順(3)によりおこない。合わせて、.bash_profileで指定しているバージョン部を変更しておけばよい。


Post a Comment