SerialPort does not have a 'list' method

I have a very simple script only for available serial ports, and then connect to it, write char and put the response in the console. CODE HERE

In my scripts directory, I did:

#npm install serialport #npm list /home/uminded/Programming/nodeJS/test └─┬ serialport@1.0.8 ├── async@0.1.18 etc... #node test.js spits out entire serialport.js to command line then... has no method 'list' at Object.<anonymous> (/home/uminded/Programming/nodeJS/test/test.js:4:12) 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.runMain (module.js:492:10) at process.startup.processNextTick.process._tickCallback (node.js:244:9) 

The serialport.js script has an export for SerialPort.list, why can't it find it?

And what program do you use to write and debug node related js?

+4
source share
1 answer

list is a property of the serialport module , not serialport.SerialPort . Replace the first lines as follows:

 var serialport = require("serialport"); var SerialPort = serialport.SerialPort; var util = require("util"), repl = require("repl"); serialport.list(function (err, ports) { ports.forEach(function(port) { console.log(port.comName); console.log(port.pnpId); console.log(port.manufacturer); }); }); 
+10
source

All Articles