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_folder
のrsync__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
ファイル同期手順
- ホスト Windows のコマンドプロンプトを起動。
-
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 再起動で更新できます。