1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

node.jsにdash button for nodeをインストールして互換性エラーが発生したときの話

Posted at

概要

販売終了したdash buttonで何かしてみようということで、下記を参考にdash buttonのイベントを取得しようと環境を作った時の話。

Amazon Dash Buttonを(正しくない方向で)使ってみた

とりあえずやってみる

少し前に使っていたnode.jsのバージョンがv6.8.1だったので、メジャーバージョン同じならDash Button for Nodeを入れれば動くだろうと試してみると見事にMACアドレス取得時に下記のエラーが発生。

エラー文言

dashボタンのMACを取得する際にnode.jsのバージョンが低いとボタン押下でエラーが発生する。
$ sudo npm run scan Scanning for DHCP requests and ARP probes on en0... /dash_button/node_modules/dash-button/build/MacAddresses.js:12 let hexStrings = numbers.map(decimal => decimal.toString(16).padStart(2, '0')); ^ TypeError: decimal.toString(...).padStart is not a function at numbers.map.decimal (/dash_button/node_modules/dash-button/build/MacAddresses.js:12:66) at Array.map (native) at Object.decimalToHex (/dash_button/node_modules/dash-button/build/MacAddresses.js:12:30) at Object.getEthernetSource (/dash_button/node_modules/dash-button/build/MacAddresses.js:8:25) at PcapSession.pcapSession.addListener.rawPacket (/dash_button/node_modules/dash-button/build/cli.js:44:53) at emitOne (events.js:96:13) at PcapSession.emit (events.js:188:7) at PcapSession.on_packet_ready (/dash_button/node_modules/pcap/pcap.js:99:10) at packet_ready (/dash_button/node_modules/pcap/pcap.js:44:14) at SocketWatcher.pcap_read_callback [as callback] (/dash_button/node_modules/pcap/pcap.js:64:45)

最初は以前node.jsを使った際の環境をそのまま使ったためv6.8.1で試してエラー発生。
その後いくつかバージョンを変更して最終的にv8.9.1(最新版)で正常起動・・・。(最初から最新版入れておけばよかった)
試したバージョンは下記の4つ。

バージョン OK/NG
v0.12.18 NG
v6.8.1 NG
v6.11.3 NG
v8.9.1 OK

最後に

そして解決した後にdash-buttonのgithubを確認すると、最新版はNode 8で動作するという記載を見つける。

Dash Button runs on Node 8 and up on macOS and Linux.

何か起こったらとりあえず公式を見に行きましょうという教訓。

1
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?