Reputation: 97
I'm trying to run a Node Arduino library [https://github.com/rwldrn/johnny-five] on a Beaglebone running Ubuntu 12.04. However, when ever I try run an example program (servo.js, or any other) the console spits out:
/home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/node_modules/bindings/bindings.js:91
throw err
^
Error: Could not locate the bindings file. Tried:
→ /home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/build/serialport.node
→ /home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/build/Debug/serialport.node
→ /home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/build/Release/serialport.node
→ /home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/out/Debug/serialport.node
→ /home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/Debug/serialport.node
→ /home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/out/Release/serialport.node
→ /home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/Release/serialport.node
→ /home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/build/default/serialport.node
→ /home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/compiled/0.8.15/linux/arm/serialport.node
at bindings (/home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/node_modules/bindings/bindings.js:88:9)
at Object.<anonymous> (/home/rov/node_modules/johnny-five/node_modules/firmata/node_modules/serialport/serialport.js:7:44)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (/home/rov/node_modules/johnny-five/node_modules/firmata/lib/firmata.js:9:18)
at Module._compile (module.js:449:26)
I've tried installing serialport through npm (npm install serialport) and I still get the same error. How do I install serialport so that it can be recognized by the servo.js file?
Upvotes: 1
Views: 1671
Reputation: 1279
serialport
is a dependancy of johnny-five
and firmata
, but since firmata
itself is a dependency of johnny-five
I believe firmata
would reference serialport
from the johnny-five/node_modules.
Also note that serialport
requires Python 2.x.
If npm installed johnny-five
correctly, it should have built serialport.node into johnny-five/node_modules/serialport/build/Release - do you see it there?
If not, try this in a new directory
$ git clone https://github.com/rwldrn/johnny-five
$ cd johnny-five
$ npm install
Does it succeed? Replace /home/rov/node_modules/johnny-five with the cloned repo you just built.
Upvotes: 1