特定のバージョンのNode-REDをインストールする

Node-REDのバージョンが割と目まぐるしく変化するようになってきています。そんなときにも特定のバージョンとの比較をやってみたいということはあるかなと思います。そこで、最新版ではなく特定のバージョンのNode-REDをインストールする方法がないかなと思って探してみました。

f:id:ueponx:20210912234758p:plain

今回使用するのはRaspberryPiでの動作になります。最新版のNode-REDのインストールは以下のリンクで見てもらえればわかります。

nodered.jp

このサイトによれば以下の様にコマンドを実行することで、指定されたNode.jsのLTS(このエントリを書いているときにはVersion14 LTS)と最新版のNode-REDがインストールされます。

$ bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

Node-REDのバージョンを指定してインストールを行う

ネットの情報をそのまま実行しても良いのですが、今回はもう少しこのスクリプトを触る必要があります。そこで以下のコマンドでスクリプトをダウンロードして内容を確認してみます。以下のコマンドを使用してダウンロードしてみます。

$ wget https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered

スクリプトの中を確認するとusage()があり、その中に実行時のオプションがありました。

update-nodejs-and-nodered【抜粋】

(略)
usage() {
  cat << EOL
Usage: $0 [options]

Options:
  --help            display this help and exits
  --confirm-root    install as root without asking confirmation
  --confirm-install confirm installation without asking confirmation
  --confirm-pi      confirm installation of PI specific nodes without asking confirmation
  --skip-pi         skip installing PI specific nodes without asking confirmation
  --restart         restart service if install succeeds
  --update-nodes    run npm update on existing installed nodes (within scope of package.json)
  --nodered-version if not set, the latest version is used - e.g. --nodered-version="1.3.4"
  --node12          if set, forces install of major version of nodejs 12 LTS
  --node14          if set, forces install of major version of nodejs 14 LTS
  --node16          if set, forces install of major version of nodejs 16 LTS
                    if none set, install nodejs 14 LTS if nodejs version is less than 12,
                    otherwise leave current install
EOL
}
(略)

この中にある--nodered-versionオプションを指定することでNode-REDのバージョンを設定できそうです。インストールスクリプトを編集しなくて済んだのは助かりました。

では、ダウンロードしてきたスクリプトをオプション付きで実行してみます。バージョンは少し古い1.2.9をインストールします。

$ bash ./update-nodejs-and-nodered --nodered-version="1.2.9"

実行の様子1 f:id:ueponx:20210912232558p:plain

実行の様子2 f:id:ueponx:20210912232628p:plain

インストールが終了したらNode-REDを実行し、フローエディタからバージョンを確認すると指定したバージョンがインストールされているのが確認できます。

f:id:ueponx:20210912233021p:plain

おわりに

バージョンアップが頻繁になったNode-REDのバージョンのインストールを簡単にやってみようという内容でした。 最新バージョンではStorageカテゴリからtailノードがなくなったりすることもあったのでそのようなときには特定のバージョンを入れて比較するということもあるので、このインストール方法も使えるのではないでしょうか?あとNode.jsのバージョン指定してのインストールもできますね。

このスクリプトを使用することで最新バージョンのインストールもできるので比較的自由にバージョンアップもできます。(旧バージョンはアンイストールしてくれるところも便利ですね)

f:id:ueponx:20210912234612p:plain

f:id:ueponx:20210912234614p:plain

/* -----codeの行番号----- */