【问题标题】:Node.js module cannot be required不能需要 Node.js 模块
【发布时间】: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 的输出吗?还有用于编译模块的命令行?

标签: linux node.js npm


【解决方案1】:

事实证明,如果您安装较早版本的串行端口,这将起作用:

npm install serialport@0.7.3

猜猜后面的版本和我的nodejs版本不兼容

【讨论】:

    猜你喜欢
    • 2018-09-24
    • 2018-12-01
    • 2015-02-14
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    • 2018-08-10
    • 2016-07-20
    • 1970-01-01
    相关资源
    最近更新 更多