<覚え書き 1>ラズパイにhomebridge-config-ui-xを入れるときにエラー! さぁどうする??

記事内に広告が含まれています。

Raspberry PiをApple HomeKitと繋げてくれるのが”homebridge”で、これは先日動作確認済み。 ただ、GUI化プラグインの”homebridge-config-ui-x”を使ってみたいのでわからないエラーにも負けず動作めざしてがんばります。

 

シリーズ化してます( ゚∀゚)アハハ

  1. ドアロック解除! Apple HomeKitとSwitchBotとRaspberry PiとHomeBridgeでキャンピングカーのドアロックを操作するょ!
  2. <覚え書き>ラズパイにhomebridge-config-ui-xを入れるときにエラー! さぁどうする??
  3. <覚え書き>ラズパイでpythonを使いたいけどgattlibインストールでエラー! 超初心者なりにいろいろ試すの巻
  4. <覚え書き>ラズパイ再起動でHomeBridgeを自動起動させるよ!
  5. PySwitchBotもPythonもわかんない! SwitchBotの設定から逃げるの巻!

 

“homebridge-config-ui-x”のエラーの改善方法がわからず、困った時の再インストールってことで最初から環境構築です。 なお、基本的にインストールして初期設定後はsshで繋いでターミナルから作業しています。

順調。

ラズパイOSの再インストール。 おおお。こっから設定やり直しか…

pi@simejipi:~ $ node -v
-bash: node: コマンドが見つかりません
pi@simejipi:~ $ nodejs -v
-bash: nodejs: コマンドが見つかりません
pi@simejipi:~ $ npm -v
-bash: npm: コマンドが見つかりません

 

使ってるのはコレ

 

お約束らしいやつ!

pi@simejipi:~ $ sudo apt-get update
pi@simejipi:~ $ sudo apt-get upgrade 

 

Node.jsのインストールです。 実行時は”v14.16.0″が最新だったっぽい。

pi@simejipi:~ $ curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -
## Installing the NodeSource Node.js 14.x repo...
#途中省略

pi@simejipi:~ $ sudo apt install nodejs
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
  nodejs
#途中省略

pi@simejipi:~ $ nodejs -v
v14.16.0

 

続いてnpmのインストール。 バージョン”7.6.3″がインストールされたようです。

pi@simejipi:~ $ sudo npm install -g npm
/usr/bin/npm -> /usr/lib/node_modules/npm/bin/npm-cli.js
/usr/bin/npx -> /usr/lib/node_modules/npm/bin/npx-cli.js
+ npm@7.6.3
added 59 packages from 24 contributors, removed 241 packages and updated 194 packages in 18.077s
pi@simejipi:~ $ npm -v
7.6.3

 

よくわからないので参考サイトに書かれているまま進めます。ここまでは順調でした。

 

広告

 

ハマる。

Raspberry PiをApple HomeKitと繋げてくれるのが”homebridge”です。 ただhomebridgeだとコマンドラインで設定する必要があるのでプラグインの”homebridge-config-ui-x”を使うことでなじみのあるグラフィカルなユーザーインターフェースで操作できる。らしい…がハマります。

中程度の脆弱性があるパッケージをなおせよアホンダラと書いてあるっぽい。 そんなことわたくしめに申されましてもってのが正直なところ。 もっと正直に言うと、しらんがな…(*゚ー゚)

pi@simejipi:~ $ sudo npm install -g --unsafe-perm homebridge homebridge-config-ui-x
npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) 
npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) 
npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) 
npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
npm WARN deprecated class-transformer@0.3.2: This release contains a breaking change from 0.3.1 but otherwise functions properly. Please read the changelog on Github to learn more.

changed 462 packages, and audited 463 packages in 42s

63 packages are looking for funding
  run `npm fund` for details

4 moderate severity vulnerabilities

To address all issues, run:
  npm audit fix

Run `npm audit` for details.

 

実際のところ提示されているURLを見てもよくわからず。

ReDos Vulnerability Regression Visibility Notice · Issue #797 · debug-js/debug
Hello. You're probably here from the deprecation notice. tl;dr This is a low-severity regression that was fixed but late...

 

どうもnpmのバージョン?含まれているパッケージ?が気に入らないようだけど、どうしたらいいのかわからない。 もちろん”npm audit fix”なんかじゃなおりません。 ただ、”homebridge”はちゃんとインストールできているらしく、”homebridge-config-ui-x”のインストール時につまづいているっぽい。

“homebridge-config-ui-x”のインストール方法を紹介しているサイトはみなさまは問題ないようす。 これはGoogle先生に聞くしかありません。 そう、あくまでも他力本願 (・ω・人)。o○【助けて❤️】

 

 

いろいろ試す

これからいろいろ試して行きます。目指すは”homebridge-config-ui-x”のインストールです。

pi@simejipi:~ $ sudo npm install -g --unsafe-perm homebridge-config-ui-x

 

gccとmakeとあったので環境に応じてコンパイルしてくれるのかな??と期待を込めて実行してみました。 それでも”homebridge-config-ui-x”のインストール結果は同じでした。

pi@simejipi:~ $ sudo apt install -y nodejs gcc g++ make python net-tools
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
g++ はすでに最新バージョン (4:8.3.0-1+rpi2) です。
g++ は手動でインストールしたと設定されました。
gcc はすでに最新バージョン (4:8.3.0-1+rpi2) です。
gcc は手動でインストールしたと設定されました。
make はすでに最新バージョン (4.2.1-1.2) です。
make は手動でインストールしたと設定されました。
net-tools はすでに最新バージョン (1.60+git20180626.aebd88e-1) です。
python はすでに最新バージョン (2.7.16-1) です。
nodejs はすでに最新バージョン (14.16.0-1nodesource1) です。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
pi@simejipi:~ $ node -v
v14.16.0

 

ライブラリ関係のアップデートで修正されることを祈って実行しましたが、また”homebridge-config-ui-x”のインストール結果は同じでした。

pi@simejipi:~ $ sudo apt-get install libavahi-compat-libdnssd-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  libavahi-client-dev libavahi-common-dev libavahi-compat-libdnssd1 libdbus-1-dev
以下のパッケージが新たにインストールされます:
  libavahi-client-dev libavahi-common-dev libavahi-compat-libdnssd-dev libavahi-compat-libdnssd1 libdbus-1-dev
アップグレード: 0 個、新規インストール: 5 個、削除: 0 個、保留: 0 個。

#途中省略

 

めげずに検索しているとココがひっかかり、”npm@latest-6″がいけそうな感じ。まったくコマンドの意味はわかりませんけれども。

pi@simejipi:~ $ sudo npm install -g npm@latest-6

removed 59 packages, changed 11 packages, and audited 436 packages in 9s

3 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

 

 

こいつ、動くぞ

“npm@latest-6″実行後はWARNの文字が気になりますがインストールはできてるっぽい。 ”homebridge-config-ui-x@4.41.0″ってバージョンが表示されてる! これでいいのかな?

pi@simejipi:~ $ sudo npm install -g --unsafe-perm homebridge-config-ui-x
npm WARN deprecated class-transformer@0.3.2: This release contains a breaking change from 0.3.1 but otherwise functions properly. Please read the changelog on Github to learn more.
npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) /usr/bin/homebridge-config-ui-x -> /usr/lib/node_modules/homebridge-config-ui-x/dist/bin/standalone.js
/usr/bin/hb-service -> /usr/lib/node_modules/homebridge-config-ui-x/dist/bin/hb-service.js

> node-pty-prebuilt-multiarch@0.10.1-pre.3 install /usr/lib/node_modules/homebridge-config-ui-x/node_modules/node-pty-prebuilt-multiarch
> node scripts/check-prebuild.js || prebuild-install || node scripts/install.js

Prebuild binary exists: /usr/lib/node_modules/homebridge-config-ui-x/node_modules/node-pty-prebuilt-multiarch/prebuilds/linux-arm/node.abi83.node

> core-js-pure@3.9.1 postinstall /usr/lib/node_modules/homebridge-config-ui-x/node_modules/core-js-pure
> node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: 
> https://opencollective.com/core-js 
> https://www.patreon.com/zloirock 

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)


> @nestjs/core@7.6.5 postinstall /usr/lib/node_modules/homebridge-config-ui-x/node_modules/@nestjs/core
> opencollective || exit 0

                                            Thanks for installing nest 🙏
                                   Please consider donating to our open collective
                                          to help us maintain this package.
                                                           
                                              Number of contributors: 0
                                                Number of backers: 517
                                                Annual budget: $51,756
                                               Current balance: $2,485
                                                           
                         👉  Become a partner: https://opencollective.com/nest/donate
                                                           

> node-pty-prebuilt-multiarch@0.10.1-pre.3 postinstall /usr/lib/node_modules/homebridge-config-ui-x/node_modules/node-pty-prebuilt-multiarch
> node scripts/post-install.js

+ homebridge-config-ui-x@4.40.0
added 5 packages from 2 contributors, removed 6 packages and updated 373 packages in 47.449s

 

あとは”hb-service”をインストールして終わりのはず! (XXXの部分は書き換えてます)

pi@simejipi:~ $ sudo hb-service install --user homebridge
ℹ Installing Homebridge Service
ℹ Created service user: homebridge
ℹ Creating Homebridge directory: /var/lib/homebridge
ℹ Creating default config.json: /var/lib/homebridge/config.json
ℹ Starting Homebridge Service...
✔ Homebridge Started

Manage Homebridge by going to one of the following in your browser:

* http://localhost:XXXX #Xには数字がはいります。
* http://XXX.XXX.XXX.XXX:XXXX #Xには数字がはいります。
* http://[XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX]:XXXX #Xには数字がはいります。

Default Username: admin
Default Password: admin

✔ Homebridge Setup Complete

 

homebridgeのバージョンが返ってきます。

pi@simejipi:/etc/systemd/system $ homebridge -V
Initializing HAP-NodeJS v0.9.4...
1.3.4

 

homebridge-config-ui-xもインストールできてるっぽい。

pi@simejipi:/etc/systemd/system $ homebridge-config-ui-x -h
Usage: homebridge-config-ui-x [options]

Options:
  -U, --user-storage-path [path]  
  -P, --plugin-path [path]        
  -I, --insecure                  
  -T, --no-timestamp              
  -h, --help                      display help for command

 

先ほどの表示されてたアドレスをブラウザに貼り付けて…

http://localhost:XXXX #Xには数字がはいります。

 

よっしゃ!₍₍ (ง ˙ω˙)ว ⁾⁾ ♪

 

 

コメント

  1. web svr より:

    homebridge UIのところでつまづきます…バックで動いているのですが…。webでサーバーが繋がらないのです。

    • simejisway より:

      コメントありがとうございます。
      そもそも詳しくないので思いつくのはこれくらいです。
      まとはずれだったらすいません。
      https://simejisway.com/simeji/?p=25168#toc2
      1)リモートアクセスにはsshを設定する
      2)デスクトップモードはvncで設定する

      ※こちらで投稿者名を編集しました