4
2

More than 5 years have passed since last update.

Node-RED ノード開発環境構築

Last updated at Posted at 2019-01-24

Node-RED ノード開発環境構築

やりたいこと。

  • Node-RED は Vagrant の Linux 環境にインストール。
  • ノードのソースコードはファイル共有し、ホスト側(Windows)で編集したい。

Vagrant ファイル共有

ファイル共有の方式によっては、シンボリック・リンクを作成するような操作をサポートしていません。

そのためnpmを使ったライブラリのインストールが失敗してしまうことがあります。

結論として、今回はrsync方式を採用します。

Vagrantfile 設定

設定 内容
ホスト OS Windows 7
ゲスト OS Ubuntu 16.04 Server
Vagrant Box bento/ubuntu-16.04
ホスト共有フォルダ ../data
ゲスト共有フォルダ /vagrant_data

config.vm.synced_folderrsync__exclude設定は、除外したいファイルやディレクトリを指定します。

Vagrantfile:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

  config.vm.box = "bento/ubuntu-16.04"

  config.vm.network "private_network", ip: "192.168.33.10"

  config.vm.synced_folder "../data", "/vagrant_data",
    type: "rsync",
    rsync__exclude: [
      "node_modules/",
      ".git/",
      ".gitignore"
    ]

end

ファイル同期手順

  1. ホスト Windows のコマンドプロンプトを起動。
  2. Vagrantfileがある場所に移動して以下を実行。
vagrang rsync

また、ファイル更新時に自動で同期したい場合は以下を実行します。

vagrant rsync-auto

Node.js インストール

Ubuntu 16.04 のデフォルトnodejsのバージョンはかなり古いです。

新しいバージョンをインストールする方法は以下。

Node.js v10.x:

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs

Node-RED インストール

node-redをグローバル・インストールします。

sudo npm install -g --unsafe-perm node-red

Node-RED 手動起動

node-red

127.0.0.1:1880でリッスンします。

ホスト Windows のブウラザでhttp://192.168.33.10:1880にアクセスするとページが表示されます。

Node-RED 自動起動

Node-RED の起動はpm2にまかせます。

まずpm2をグローバル・インストールします。

sudo npm install -g pm2

node-red起動方法をpm2に設定します。

pm2 start /usr/bin/node-red -- -v
pm2 save

pm2自体の起動方法はsystemdサービスとして登録します。
pm2 startupで登録コマンドの内容が表示されます。

pm2 startup

表示されたコマンドをコピー&ペーストして実行します。

sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u vagrant --hp /home/vagrant

以上、登録完了です。

ログ確認方法

pm2 logs node-red

再起動方法

pm2 restart node-red

ノードのインストール

cd ~/.node-red
npm install {ノード・プロジェクトのディレクトリパス}

インストール後、ソースを編集したら rsync 同期、Node-RED 再起動で更新できます。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2