2020/04/16

Node.jsの導入方法

背景


仕事で、サーバーアプリを開発する必要があり、Node.jsを採用した。

記事の目的


LinuxでNode.jsを導入する

Node.jsの導入


ここでは、Node.jsの導入方法と使用方法について記載する。

node.jsとは


Node.jsは、バイナリにコンパイルされた多くの「コア・モジュール」とともに提供される。それはネットワークの非同期ラッパーであるnetモジュールの他、パスやファイルシステム、バッファ、タイマー、より一般的なストリームなどの基本的なモジュールを含む。サードパーティー製のモジュールを使用することも可能である。それはプリコンパイルされた ".node" アドオン、または、プレーンなJavaScriptファイルのどちらの形式でもよい。JavaScriptモジュールはCommonJSモジュール仕様に従って実装され、モジュールが実装する関数や変数へのアクセスにはexports変数が使われる。
サードパーティーのモジュールはNode.jsを拡張または抽象レベルを提供することで、ウェブアプリケーションで使われる様々なミドルウェア実装することができる。たとえばポピュラーなフレームワークとしてconnectおよびExpress.jsがある。モジュールは単なるファイルとしてインストールすることもできるが、通常はnpmを使ってインストールされる。それは依存性の扱いも含めてモジュールの構築、インストール、更新を助けてくれる。さらに、モジュールはNodeのデフォルトであるモジュール用ディレクトリにインストールしなくても、相対的なパス名を要求することで見つけられる。Node.js wikiに利用可能なサードパーティー製のモジュール一覧がある。

利点

  • Node.jsはシングルスレッドで動作するため、接続数が増えてもスレッドがメモリを食い潰さない
  • ノンブロッキングI/O採用の為、待ち時間が少なく大量の処理を行うことができる
  • Javascriptで実装できるため、開発が容易である


導入方法

node.jsの導入手順は、下記の通りである。
  • Ubuntuの場合
    1. node.js、npm(node.jsのパッケージ管理モジュール;Pythonのpip相当)をインストールする
    2. $ sudo apt install -y nodejs npm
    3. npmでn(node.jsのバージョン管理モジュール;Pythonのpyenv相当)をインストールする
    4. $ sudo npm install n -g
    5. nで最新のnodeをインストールする(apt installで入れたnodeはバージョンが古いため)
    6. $ sudo n stable
    7. apt install で入れたnodejs、npmを削除する
    8. $ sudo apt purge -y nodejs npm
      $ sudo apt autoremove
    9. nodeのバージョン確認
    10. $ node -v
  • Windowsの場合
    • 直接インストール
      1. 公式ホームページから、使用するバージョンのインストーラをダウンロードする
      2. ダウンロードしたインストーラを使用し、インストールする
    • nvm-windowsを使用(バージョン管理)
      1. GitHubから、nvm-setup.zip をダウンロードする
      2. 解凍し、nvm-setup.exe(インストーラ)を実行する
      3. コマンドプロンプト(Win+R→「cmd」)で、動作確認を行う
      4. $ nvm version
      5. nvm-windowsでNode.jsをインストールする
      6. $ nvm list available
        $ nvm install 6.9.1
        # 32ビットの場合
        $ nvm install 6.9.1 32
      7. nvm-windowsでNode.jsをアンインストールする
      8. $ nvm uninstall 6.9.1
      9. nvm-windowsでNode.jsを切り替える
      10. $ nvm use 6.9.1

まとめ


  • Node.jsの導入方法について調査、記載した

参考文献




変更履歴


  1. 2020/04/16: 新規作成

0 件のコメント:

コメントを投稿

MQTTの導入

背景 IoTデバイスの接続環境構築のため、MQTT(mosquitto)の導入を行った。 記事の目的 MQTT(mosquitto)をUbuntuに導入する mosquitto ここではmosquittoについて記載する。 MQTT MQTT(Message Qu...