ブログ

Armadillo-640:Node-REDを動作させてみた(Debian GNU/Linux 10 (Buster))

at_takuma.fukuda
2021年3月14日 21時07分

はじめに

Armadillo-640でもDebian GNU/Linux 10 (Buster)のユーザランドが使用可能となりました。
この記事では、Debian GNU/Linux 10 (Buster)を使用しているArmadillo-640上にNode-REDをインストールする手順をご案内します。

失敗

さっそく、下記の記事を参考にインストールを試みたところ、Node.jsのインストールで失敗してしまいました。
Node-REDをArmadillo-IoT G3で動かしてみた
2021/3/14時点で最新の安定版は14.xであったため、以下コマンドを実行したところ、
何のレスポンスも無くすぐに終了してしまいました。

curl -sL https://deb.nodesource.com/setup_14.x | bash -

念のためオプションから「-s」を外して進捗表示を有効にしたところ、
下記のようにエラーが表示されてしまいました。

root@armadillo:~# curl -L https://deb.nodesource.com/setup_10.x | bash -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.haxx.se/docs/sslcerts.html
 
curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

これは証明書の検証エラーです。

対策の検討

証明書の検証エラーへの対処方法はいくつかありますが、
この記事ではcurlコマンドにたいしてオプション「-k」を付加して実行することとしました。
ただし、単に上記コマンドに「-k」を追加するだけでは失敗してしまいます。

root@armadillo:~# curl -kL https://deb.nodesource.com/setup_14.x | bash -
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 13479  100 13479    0     0  36627      0 --:--:-- --:--:-- --:--:-- 36528
 
## Installing the NodeSource Node.js 14.x repo...
 
 
## Populating apt-get cache...
 
+ apt-get update
Ign:1 http://download.atmark-techno.com/debian buster InRelease
Ign:2 http://download.atmark-techno.com/debian buster-backports InRelease
Hit:3 http://ftp.jp.debian.org/debian buster InRelease
Hit:4 http://download.atmark-techno.com/debian buster Release
Hit:5 http://download.atmark-techno.com/debian buster-backports Release
Get:6 http://security.debian.org buster/updates InRelease [65.4 kB]
Fetched 65.4 kB in 7s (9636 B/s)
Reading package lists... Done
 
## Confirming "buster" is supported...
 
+ curl -sLf -o /dev/null 'https://deb.nodesource.com/node_14.x/dists/buster/Release'
 
## Your distribution, identified as "buster", is not currently supported, please contact NodeSource at https://github.com/nodesource/distributions/issues if you think this is incorrect or would like your distribution to be considered for support

上記コマンドは、https://deb.nodesource.com/setup_14.xからファイルを取得してbashとして実行するというものですが、
「https://deb.nodesource.com/setup_14.x」の中にも複数curlコマンドの実行が含まれており、
ここで同じように証明書の検証エラーが発生してしまいます。
そこでこの記事では、以下のような手順でインストールを実施しました。

手順

パッケージの更新

インストールされているパッケージを最新の状態に更新しておきます。

root@armadillo:~# apt update
root@armadillo:~# apt -y upgrade

curlのインストール

Armadillo-640をインストールディスクで初期化した状態では「curl」がインストールされていません
以下のコマンドを実行して「curl」をインストールします。

root@armadillo:~# apt -y install curl

ファイルのダウンロード

Node.jsをインストールするためのファイルを一旦ダウンロードします。
#この記事を作成した2021/3/14時点での最新の安定版である14.xをインストールする前提で記載しています。
ダウンロードしたファイルをテキストエディタで編集し、
「curl」コマンド実行箇所全てで「-k」オプションを利用するよう変更します。

ダウンロード
root@armadillo:~# wget https://deb.nodesource.com/setup_14.x
編集
root@armadillo:~# vi setup_14.x
実行権限付与
root@armadillo:~# chmod +x setup_14.x

ファイル実行

ダウンロード・編集したファイルを実行します。

root@armadillo:~# ./setup_14.x
 
## Installing the NodeSource Node.js 14.x repo...
 
 
## Populating apt-get cache...
 
+ apt-get update
Ign:1 http://download.atmark-techno.com/debian buster InRelease
Hit:2 http://ftp.jp.debian.org/debian buster InRelease
Ign:3 http://download.atmark-techno.com/debian buster-backports InRelease
Hit:4 http://download.atmark-techno.com/debian buster Release
Hit:5 http://download.atmark-techno.com/debian buster-backports Release
Hit:6 http://security.debian.org buster/updates InRelease
Reading package lists... Done
 
## Confirming "buster" is supported...
 
+ curl -sLk -o /dev/null 'https://deb.nodesource.com/node_14.x/dists/buster/Release'
 
## Adding the NodeSource signing key to your keyring...
 
+ curl -ks https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
OK
 
## Creating apt sources list file for the NodeSource Node.js 14.x repo...
 
+ echo 'deb https://deb.nodesource.com/node_14.x buster main' > /etc/apt/sources.list.d/nodesource.list
+ echo 'deb-src https://deb.nodesource.com/node_14.x buster main' >> /etc/apt/sources.list.d/nodesource.list
 
## Running `apt-get update` for you...
 
+ apt-get update
Hit:1 http://ftp.jp.debian.org/debian buster InRelease
Ign:2 http://download.atmark-techno.com/debian buster InRelease
Ign:3 http://download.atmark-techno.com/debian buster-backports InRelease
Hit:4 http://download.atmark-techno.com/debian buster Release
Hit:5 http://security.debian.org buster/updates InRelease
Hit:6 http://download.atmark-techno.com/debian buster-backports Release
Get:7 https://deb.nodesource.com/node_14.x buster InRelease [4584 B]
Get:10 https://deb.nodesource.com/node_14.x buster/main armhf Packages [778 B]
Fetched 5362 B in 7s (735 B/s)
Reading package lists... Done
 
## Run `sudo apt-get install -y nodejs` to install Node.js 14.x and npm
## You may also need development tools to build native addons:
     sudo apt-get install gcc g++ make
## To install the Yarn package manager, run:
     curl -ksL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
     echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
     sudo apt-get update && sudo apt-get install yarn

Node.jsのインストール

ここまででようやくnodejsとnpmのインストールの準備が整ったのでインストールを実行します。
インストール完了後バージョンを確認し、指定したバージョンがインストールされていることを確認しておいてください。

root@armadillo:~# apt-get install -y nodejs
root@armadillo:~# node --version
v14.16.0

ここまでの手順を飛ばしていきなりインストールを行うと、
Node.jsの10.24がインストールされ、かつnpmがインストールされていない状態となります。
「apt-get install」コマンドでnpmを追加インストール出来ますが、
Node-REDが正常にインストールされないのでご注意ください。

Node-REDのインストール

npm(Node Package Manager)を利用してNode-REDをグローバルモジュールとしてインストールします。
以下のコマンドを実行して、Node-REDのインストールとシステムパスを設定します。

root@armadillo:~# npm install -g --unsafe-perm node-red

動作確認

以上の手順でNode-REDのインストールが完了したので、正常に動作するかを確認します。
以下のコマンドでNode-REDを起動します。

root@armadillo:~# node-red

起動メッセージを確認したら、Armadillo-640と同一のネットワークに接続したPCのブラウザから、
http://[Armadillo-640のIPアドレス]:1880/ へアクセスします。
以下のような画面が表示されていれば、起動成功です。
正常に動作していることを確認するため、下記記事を参考にHello Worldの表示を行います。
Node-REDをArmadillo-IoT G3で動かしてみた
以下のように表示され、正常に動作していることを確認する事が出来ました。