2018-06-27 Raspberry Piイメージ(Raspbian)でNode-REDを入れるにはupdate-nodejs-and-noderedだけで良かったメモです。
こちら の追加調査記事です。
経緯として
2018/07/26での経緯です。
前回の記事をNode-RED UG Facebookページに投稿したところ、いろいろな方からコメントいただきまして、より良いやり方があるとアドバイスいただき助けていただきました。
ありがとうございました。
まず、いろいろ勘違いをしていた
まず、Recommended Softwareを選んだのには理由を書いておこうと思います。
先入観から2つの勘違いがありました。
- Node-REDがプリインストールではなくなった直後にRecommended Softwareが出てきて即座に代替かと思ってしまった
- update-nodejs-and-noderedというのが update という意味合いに引っ張られて新規インストールに使うものではないと思ってしまっていた
- 後述しますが、update-nodejs-and-nodered内の作りをしっかり見ておくべきでした。
- updateと銘打っていても、新規インストールに耐えうるものでした。
その他にCLI(TerminalやSSHでコマンド打つ形)だと苦手な方もいるので、広く伝わりやすいGUIだけでなんとかならないかなあと追っていた結果、Recommended Software利用に寄っていったというのはありますが、それはそれとして置いておきます。
update-nodejs-and-noderedだけで結局良さそう
さて、update-nodejs-and-noderedだけで結局良さそうでよいという話。
Node-RED UG Facebookページでもコメントいただいたとおり、
の処理の中身を見てみると、様々な配慮が行き届いてます。
このとおり、進捗情報ログからも垣間見えます。
個人で実行すると絶対忘れそうな npm cache のクリーンや npm rebuildをはじめとして、systemd scriptの更新やメニューショートカット作成も整えてくれるので、かなり考えられています。
Node-RED UG Facebookページでもコメントも踏まえて、私もこの実行だけでことが足りそうに思えてきました。
早速試してみます。
インストール
最近のRaspberry Piイメージ(Raspbian)をインストールするメモ – 1ft-seabass.jp.MEMO をベースに進めます。
まずこちらのイメージでインストールして準備します。
初期設定ウィザードでアップデートが済んでいる状態で行います。
update-nodejs-and-noderedを実行
初期設定ウィザードでアップデートが済んで再起動した状態からはじめます。
とにかく、今回の手順では Recommended SoftwareでのNode-REDは行いません。 ご注意ください。
では進めていきましょう。
Node-RED : Running on Raspberry Pi こちらで推奨されているコマンド、
bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)
update-nodejs-and-nodered を実行します。
yesを入力してENTER。
もうひとつ設問が出てくるのでこれもyesを入力してENTER。
進んでいきます。
Node.jsとnpmが準備されます。
無事完了です。
Node-REDが動いた
早速試してみます。
node、npmのバージョンが出てくるということはインストールがうまくいっています。
node-redコマンドを実行します。
問題なく起動しました!
表示でもノードがなにか動かないといった不具合はなくてしっかり動作していました。これで良さそうです!
注意点:Node.js/npmがインストールの流れの中で入ってしまう場合がある
初期設定ウィザードから、さらに、自分の使っているライブラリをaptなりで入れていったりすると、そちらのインストールで、Node.js/npmのインストールが走っている場合があります。
Raspberry Pi 3 Bを例にしてお伝えしますが、うーん、言葉として分かりにくいのですが、説明していきます。
以下のような状況を指します。
- Raspberry PiイメージをSDカードに書き込む
- はじめての起動
- 初期設定ウィザードが表示される ↓
- 初期設定できた
- 一旦再起動
- この段階では2018/07/26現在ではNode.js/npmが入っていない
のですが、ここで今回のupdate-nodejs-and-noderedをせず、自分の使っているライブラリをaptなりで入れていくと、
- 自分の使っているライブラリをaptなりで入れていく
- そのライブラリの中でNode.js/npmのインストールが走っている場合がある
- 以後、Node.js/npmが入っている状況になる
私としては実務的には「Node.js/npmが入ってとてもイイじゃん!あとは sudo npm install -g –unsafe-perm node-red するだけ!」と思いますが、一方で、2018/07/26現在のRaspberry PiイメージではNode.js/npmが入っていないことは大事な出来事なので、この認識の混乱しやすさは悩ましい流れ。
実際、私が体験した範囲ですとGrovePi+ – スイッチサイエンスの初期インストールで使うコマンド。
これを実行したら、Node.js/npmがしっかり入りました!コマンドの内容を読んでもNodeインストールのコマンドを感じないのですが何か深層のどこかに入っているんでしょうか?
ふりかえり
やはり、update-nodejs-and-nodered は update という名前どころではなく、新規インストールでもバッチリ行ける!!!
ということが分かりました。
そんなわけで、この記事の執筆時点(2018/07/26)では、Raspberry Piイメージ(Raspbian)でGUIの初期設定ウィザードを済ませた状況ではupdate-nodejs-and-noderedを実行してNode-REDをスムーズに導入できる。ということですね。
この記事の執筆時点(2018/07/26)の情報なので、なにかしら改善がされてRaspberry PiやNode-REDという双方の事情で変更があるかもしれませんが、update-nodejs-and-noderedの出来も良さそうですし、Raspberry PiでNode-REDを使うときはupdate-nodejs-and-noderedを利用する方向でしばらく見守りたいと思います。
本来であれば、知見が各方面からたくさん出ていて落ち着いたほうが、確定情報を引用しながら記事が書きやすいのですが、Node-REDだけでなくNode.js/npmが入っていない状況だと、私が困ったことは早くメモしておこうと思った次第です!
Node-RED UG の方々のアドバイスもいただきつつ、このような結論に至れていろいろ勉強になりました。ありがとうございます。
それでは、よき Node-RED Life を!