• V
 

ローカルでNode-REDを実行する

Raspberry PiまたはUbuntuまたはDiet-Piを含むDebianベースのオペレーティングシステムの場合、 こちらのRaspberry Piのインストールスクリプトを利用できます。
RedHat、FedoraおよびCentOSを含むRPMベースのオペレーティングシステムを利用している場合、 こちらで入手できるRPMのインストールスクリプトを利用することができます。
Windowsを利用している場合、Node-REDをインストールするための詳細な手順はこちらで見つけることができます。

必須条件

ローカル環境にNode-REDをインストールするためにはサポートされているNode.jsのバージョンが必要です。

npmによってインストールする

Node-REDをインストールするため、Node.jsに同梱のnpmコマンドを利用できます:

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

Windowsを利用している場合、このコマンドをsudoからは始めません。

このコマンドは、依存関係とともにNode-REDをグローバルモジュールとしてインストールします。

コマンドの出力の最後が以下のようになった場合、インストールが成功したと確認できます。

+ [email protected]
added 332 packages from 341 contributors in 18.494s
found 0 vulnerabilities

Dockerでインストールする

最も簡単な方法によってDockerで直接実行するには、次のようにします:

docker run -it -p 1880:1880 --name mynodered nodered/node-red

更なる追加情報は私達のdockerのガイドを参照してください。

Snapでインストールする

OSがSnapをサポートしている場合、 以下のようにNode-REDをインストールすることができます:

sudo snap install node-red

Snapパッケージとしてインストールした場合、利用しなくてはならない以下のような外部の機能へのアクセスを持っていないセキュアなコンテナで実行できます:

  • メインシステムストレージにアクセスする。ローカルホームディレクトリへのread/writeのみ許可されています。
  • gcc - インストールしたいノードのバイナリコンポーネントをコンパイルするために必要です
  • git - プロジェクト機能を利用したい場合、必要になります
  • GPIOハードウェアへの直接アクセス権
  • フローの(例えば)Execノードで実行される外部コマンドへのアクセス権

コンテナのセキュリティは低下するものの、より幅広いアクセスが可能な「クラシック」モードで実行することもできます。

実行する

一度グローバルモジュールとしてインストールしたら、 ターミナルにおいてnode-redコマンドを使ってNode-REDを起動することができます。 Ctrl-Cを使うか、ターミナルウィンドウを閉じることでNode-REDを停止することができます。

$ node-red

Welcome to Node-RED
===================

30 Jun 23:43:39 - [info] Node-RED version: v1.1.0
30 Jun 23:43:39 - [info] Node.js  version: v10.21.0
30 Jun 23:43:39 - [info] Darwin 18.7.0 x64 LE
30 Jun 23:43:39 - [info] Loading palette nodes
30 Jun 23:43:44 - [warn] rpi-gpio : Raspberry Pi specific node set inactive
30 Jun 23:43:44 - [info] Settings file  : /Users/nol/.node-red/settings.js
30 Jun 23:43:44 - [info] HTTP Static    : /Users/nol/node-red/web
30 Jun 23:43:44 - [info] Context store  : 'default' [module=localfilesystem]
30 Jun 23:43:44 - [info] User directory : /Users/nol/.node-red
30 Jun 23:43:44 - [warn] Projects disabled : set editorTheme.projects.enabled=true to enable
30 Jun 23:43:44 - [info] Creating new flows file : flows_noltop.json
30 Jun 23:43:44 - [info] Starting flows
30 Jun 23:43:44 - [info] Started flows
30 Jun 23:43:44 - [info] Server now running at http://127.0.0.1:1880/red/

そして、ブラウザでhttp://localhost:1880を指定することでNode-REDエディタにアクセスすることができます。

ログ出力は様々な情報を提供してくれます。

  • Node-REDおよびNode.jsのバージョン
  • パレットにノードをロードしようとしたときに発生したエラー
  • 設定ファイルおよびユーザディレクトリの位置
  • 利用しているフローファイルの名称

Node-REDはデフォルトのフローファイルとしてflows_<hostname>.jsonを利用します。 node-redコマンドの引数としてフローファイル名を渡すことで、これを変更することができます。

コマンドラインの使い方

Node-REDはnode-redコマンドを使うことで起動できます。 このコマンドは様々な引数をとることができます:

node-red [-v] [-?] [--settings settings.js] [--userDir DIR]
         [--port PORT] [--title TITLE] [--safe] [flows.json|projectName]
         [-D X=Y|@file]
オプション 詳細
-p, --port PORT ランタイムが待ち受けているTCPポートを設定します。デフォルト: 1880
--safe フローを起動せずにNode-REDを起動します。このオプションはエディタでフローを開き、フローを起動せずに変更をおこなえるようにします。変更をデプロイしたとき、フローは起動されます。
-s, --settings FILE 利用する設定ファイルを設定する。デフォルト: settings.js in userDir
--title TITLE プロセスウィンドウタイトルを設定する。
-u, --userDir DIR 利用するユーザディレクトリを設定する。デフォルト: ~/.node-red
-v 冗長な出力を取得します。
-D X=Y|@file 個別に設定を上書きする
-?, --help コマンドラインの使い方を表示し、終了します。
flows.json|projectName プロジェクト機能を有効にしていない場合、作業したいフローファイルをこのオプションで指定します。プロジェクト機能が有効な場合、どのプロジェクトを利用するのかを指定します。

Node-REDはデフォルトのフローファイルとしてflows_<hostname>.jsonを利用します。 実行しているコンピュータがホスト名を変更した場合、 静的なファイル名をコマンドライン引数または設定ファイル内のflowsFileオプションとして、 提供することを保証する必要があります。

個別に設定を上書きする

Since Node-RED 1.1.0

コマンドライン上で-D(もしくは--define)オプションを使うことで 個別に設定を上書きすることができます。

例えば、ログレベルを変更することができます:

-D logging.console.level=trace

また、ファイルによって設定をカスタマイズできます:

-D @./custom-settings.txt

ファイルには上書きする設定の一覧を含んでいる必要があります:

logging.console.level=trace
logging.console.audit=true

基盤であるNode.jsプロセスに引数を渡す

基盤であるNode.jsプロセスに引数を渡さなければならない機会はあります。 例えば、Raspberry PiやBeagleBone Blackのように、 メモリ容量が制限されたデバイスで実行する場合です。

これをおこなうためには、起動スクリプトのnode-redの代わりにnode-red-piを利用する必要があります。 Note: このスクリプトはWindowsでは利用できません。

反対に、nodeコマンドを利用してNode-REDを起動した場合、 red.jsおよびNode-RED自体に渡す引数を指定する前に Nodeプロセスに引数を渡す必要があります。

以下の2つのコマンドは2種類のアプローチを紹介しています:

node-red-pi --max-old-space-size=128 --userDir /home/user/node-red-data/
node --max-old-space-size=128 red.js --userDir /home/user/node-red-data/

Node-REDをアップグレードする

Raspberry Piスクリプトを利用してNode-REDをインストールした場合、それを再利用することでアップグレードすることができます。 スクリプトはこちらで入手できます。

グローバルnpmパッケージとしてNode-REDをインストールした場合、 以下のコマンドによって最新版にアップグレードすることができます:

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

Windowsを利用している場合、コマンドの先頭にsudoは不要です。

次のステップ