NodeJS - 串行阅读器出现故障的原因?

时间:2017-08-09 08:44:15

标签: javascript node.js macos npm serial-port

我使用npm安装了serialport,但为什么无法连接?

$ ls /dev/tty.*
/dev/tty.Bluetooth-Incoming-Port    /dev/tty.usbserial-AI0255BX

$ cat /var/tmp/test.js
var SerialPort = require('serialport');
var port = new SerialPort('/dev/tty.usbserial-AI0255BX', {
  baudRate: 57600
});


$ node /var/tmp/test.js 
module.js:471
    throw err;
    ^

Error: Cannot find module 'serialport'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/private/var/tmp/test.js:1:80)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)

1 个答案:

答案 0 :(得分:2)

Nodejs在与脚本相同的文件夹中搜索package.json。如果没有找到它在父文件夹等中搜索...

我在你的pastbin中看到你已经在家里安装了节点模块,所以对于Node来说,package.json是无法实现的。

你可以试试这个:

  • npm install -g serialport

-g(全局)选项允许使用bin,无论您身在何处。

或者:

  • 将您的脚本移动到package.json
  • 所在的文件夹(或子文件夹)中