2017/10/30

[nodejs][raspi]Raspberry Piにnodejsなどを入れる(2017/10)

Google HomeのためにVirtual Boxで動かしているUbuntuにgoogle-home-notifierをインストールしたのだが、ずっとVMを動かしているわけでもないので、単独で動いてくれる環境もほしくなった。

ああ、だからRaspberry Piでやっている人が多いのか・・・と気付く。
よし、インストールだ。


Raspberry Pi 1を使う。

OSは、2017-09-07-raspbian-stretch-lite。
適当にSDカードに焼いて、起動して、raspi-configでディスク領域を調整したり、SSHを有効にしたり。
aptのupdate/upgradeもやっておく。



noelportugal/google-home-notifier: Send notifications to Google Home
ここにRaspberry Pi用のやり方が書いてあるので、真似する。

真似したのだが・・・ちょっと足りなかった。

$ curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
$ sudo apt install nodejs git-core libnss-mdns libavahi-compat-libdnssd-dev npm build-essential
$ sudo ln -s /usr/bin/nodejs /usr/bin/node

nodeコマンドはそのままではシンボリックリンクされてなかったし、npmも入ってなかった。
build-essentialは、いるのかどうかわからんが、どうせビルドするだろうからやっておいた。

$ git clone https://github.com/hirokuma/google-home-notifier-test.git
$ cd google-home-notifier-test
$ npm install

ここでかなり時間がかかっている。
・・・そして、404エラーが出てしまった。

npm ERR! 404 Not Found
npm ERR! 404
npm ERR! 404 'types/node' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it
npm ERR! 404 It was specified as a dependency of 'ngrok'
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, or http url, or git url.
npm ERR! System Linux 4.9.41+
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /home/pi/Nodejs/google-home-notifier-test
npm ERR! node -v v4.8.2
npm ERR! npm -v 1.4.21
npm ERR! code E404
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/pi/Nodejs/google-home-notifier-test/npm-debug.log
npm ERR! not ok code 0

/home/pi/Nodejsは、こっちで作ったディレクトリだ。

Ubuntuだとv8だったので「setup_8.x」にしてみたが、4.8.2しかインストールされん。
curlでnodesourceから取ってくるときに警告が出ているのだが、Raspberry PiのCPUだとソース提供されていないのかもしれん。


うーん、よくわからんが、デフォルトパラメーターでエラーが出ているようだから、削った。
ついでにexample.jsを削除し、package.jsonからも使わなくなったrequireを減らしていった。
正しいやり方なのかどうかはわからんが、これなら動いた。

https://github.com/hirokuma/google-home-notifier-test/tree/8a4f07c7f6193d129b20132381a5ebf9fba638aa

cloneしたままのexample2.jsだとIPアドレスが入っていないので、そこは自分のGoogle Homeのやつを入れておくれ。

端末の遅さのせいか、実行してから8秒くらいかかって、ようやくしゃべり始める。
そこそこ、端末側にもパワーがいるのだねぇ。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。