【发布时间】:2014-01-29 20:36:56
【问题描述】:
我在树莓派上写了一个Node.js服务器,之前已经成功使用过里面的几个模块。
但是,在需要软件包串行端口的最新版本中,我收到了以下错误消息:
/home/pi/hub/node_modules/serialport/node_modules/bindings/bindings.js:85
throw err
^
Error: Could not load the bindings file. Tried:
-> /home/pi/hub/node_modules/serialport/build/Debug/serialport.node
-> /home/pi/hub/node_modules/serialport/build/Release/serialport.node
-> /home/pi/hub/node_modules/serialport/out/Debug/serialport.node
-> /home/pi/hub/node_modules/serialport/Debug/serialport.node
-> /home/pi/hub/node_modules/serialport/out/Release/serialport.node
-> /home/pi/hub/node_modules/serialport/Release/serialport.node
-> /home/pi/hub/node_modules/serialport/build/default/serialport.node
-> /home/pi/hub/node_modules/serialport/compiled/0.6/linux/arm/serialport.node
at bindings (/home/pi/hub/node_modules/serialport/node_modules/bindings/bindings.js:82:13)
at Object.<anonymous> (/home/pi/hub/node_modules/serialport/serialport.js:7:44)
at Module._compile (module.js:446:26)
at Object..js (module.js:464:10)
at Module.load (module.js:353:32)
at Function._load (module.js:311:12)
at Module.require (module.js:359:17)
at require (module.js:375:17)
at Object.<anonymous> (/home/pi/hub/server.js:8:15)
at Module._compile (module.js:446:26)
我已尝试搜索此错误,包括在 stackoverflow 上,但我找到的少数解决方案并未解决此问题。
更新:
由于我无法辨别的原因,我现在遇到了另一个错误。我不记得改变了什么。
/home/pi/hub/node_modules/serialport/node_modules/bindings/bindings.js:77
throw e
^
Error: Unable to load shared library /home/pi/hub/node_modules/serialport/build/Release/serialport.node
我已经仔细检查了,我很确定串行端口安装在正确的目录中
【问题讨论】:
-
node.js 尝试的任何路径是否指向现有文件?如果没有,你编译的 node.js 模块的路径是什么?
-
您在“npm install”阶段是否有任何错误?对树莓派的要求似乎很具体。
-
@Sonata 刚刚检查过,/home/pi/hub/node_modules/serialport/build/Release/serialport.node 似乎指向一个现有文件。奇怪的是找不到它
-
@AurélienThieriot 似乎没有任何错误,没有
-
可能编译的模块与你的node.js不匹配?你能包括 node.js 的
setenv的输出吗?还有用于编译模块的命令行?