New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
won't build serialport dependency under nodejs 14.8 #126
Comments
looks like it wanting
|
ok changed that to 9.0.1 and npm install no longer complained but there will be some work to do as serial port no longer uses callbacks.
|
Similar trouble... No prebuilt binaries found, prebuilding binaries (serialport, winnus) failed. node -v v14.8.0
|
Generally I only push updated versions when features get added that make a difference to the CLI - no point making you update versions if nothing has changed. Ok, so looks like we'll need to modify the serialport library to cope with the new serialport API to work under the new Node.js. I've lost count of the times this has happened with bluetooth/serial support, with either the library of Node.js itself making breaking changes. |
I'm keen to try espruino on a pile of esp32's I have but I'll wait until the tool chain runs under 14. That said maybe I can help with a PR. Maybe now is the time for a refactor to es6 too as it supported natively under 14 with the exception of cjs. That can be handled by transpilation or running under the std/esm module which I do. Such a wholesale rewrite/refactor might better be done under a separate branch until nodejs goes to 16. Once it's up to date than I'd be happy to keep an eye on the major release update ball. As to having major version releases I hear you, but then again rust never sleeps. Given that nodejs is actively pushing new major versions I've opted to always have my libraries/apps and their dependencies run under the latest even version. It's a bit of a pain to constantly update but then again I don't have a long period where nothing gets updated and then have to do major refactoring like move from callbacks to async/await. That big jump can be more painful and confusing than more frequent modest changes. Folks falling behind can always install an older release. Since I don't and don't intend to run multiple node versions that may mean I abandon(wait on) repos that fall way behind. |
Many users are still running older Node.js versions (eg. Linux/Raspberry pi where the distro's default is older) so I wouldn't want to refactor everything in such a way that it broke it for a bunch of people if there wasn't a clear benefit. EspruinoTools itself is used by the Web IDE as well as the BangleApps loader, so potentially a refactor of anything other than the CLI tool itself could be a hard and potentially very risky process. If you want to try Espruino on ESP32, you could just use the Web IDE? It seems |
Ok, just sorted, and published new version |
I pulled those commits and can confirm it's now working for me with this command. Thx!.
I do get this in output but it still connects so maybe the Noble:getPorts is not required if I explicitly supply a port. If so can I disable it so it doesn't have to wait to timeout.
|
You can just remove the 'noble' module, or use the getPorts needs to be called for each enabled connection type though, because the tool has to compare the port names with what's returned to figure out which port is to be connected to. |
I've just made some more changes that might fix this for you without |
doing a global install via npm says no prebuilt binary for serialport is available so it tries to build and fails which explains why I can't connect to my device via serial port.
serialport is version 7. which is in package json so
Looks like lastest publish to npm is 6 months ago even though there are recent commits.
https://www.npmjs.com/package/serialport
can you please publish to npm. Thx
The text was updated successfully, but these errors were encountered: