LoginSignup
0
0

More than 3 years have passed since last update.

ラズパイでjohnny-fiveを使用したExpressなAPIをpm2で自動起動する場合の覚書

Last updated at Posted at 2019-04-27

知っている人は疑いなく実現できるからかこれぞという情報があるようなないようなカンジで、知らない人はどうやるんだか見当がつきにくい。
johnny-five とか pm2 とかはじめてだし! という私のような方向け。

pm2で自動化を試みて、以下のようなエラーが発生した場合、
(具体的には raspi-io を new したときに発生する)

 $ pm2 start app.js --name hoge
API server started on: 5001
fs.js:119
    throw err;
    ^

Error: EACCES: permission denied, open '/sys/class/leds/led0/trigger'

rootユーザのパスワードを設定して、suしてから同操作を行えばよいよ、という話。

root にパスワードを設定。
$ sudo passwd root 
su してrootになる。
$ su
パスワード:
pm2 で自動化設定。
pm2のインストール
# npm i -g pm2

起動
# /usr/local/lib/nodejs/node-v11.14.0-linux-armv7l/bin/pm2 start app.js --name hoge
# /usr/local/lib/nodejs/node-v11.14.0-linux-armv7l/bin/pm2 save
再起動し、自動起動していることを確認。

おしまい。

おまけ、実行した環境。
$ uname -a
Linux raspberrypi02 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 9.8 (stretch)
Release:    9.8
Codename:   stretch

$ node -v
v11.14.0

$ npm -v
6.9.0

$ pm2 -v
3.5.0

2020/05/29追記:

Error: EACCES: permission denied, open '/root/.pm2/module_conf.json'

Raspi4を入手したので試してみたら、同じ要領で実行してエラーになった。

$ uname -a
Linux raspberrypi 5.4.42-v7l+ #1319 SMP Wed May 20 14:12:03 BST 2020 armv7l GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:    10
Codename:   buster

$ node -v
v13.14.0

$ npm -v
6.13.4

$ pm2 -v
4.4.0

コマンドのオプションでユーザ指定して解消。

# pm2 start app.js --name hs-node1 --user root
# pm2 startup --user root

先に試した時は、オプション指定せずに実行して、次のサービスが作成された。
/etc/systemd/system/pm2-root.service

今回、同じコマンドを実行して、次のサービスが作成された。
/etc/systemd/system/pm2-pi.service

「--user root」を指定すると、「/etc/systemd/system/pm2-root.service」が作成される。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0