Comments (5)
hi @hardillb are you getting accidentally updated to a version that is incompatible with your version of node?
As far as I understand you should be able to continue with the older version of the package until you are able to update node from version 14. Other than losing support I don't think there are any known issues which should impact you in the short term if you need to stick on node 14 for a short while
from bindings-cpp.
I'm testing (and the supplied test case uses) NodeJS 16 and installing serialport
v11.0.1 (bindings-cpp v11.0.3) which was tagged on github 3 days ago, that version should be good, but I've just tested with version v12.0.0 (bindings-cpp v12.0.1) tagged at the same time and it fails the same way
For v12.0.0 package.json says
"engines": {
"node": ">=16.0.0"
},
for v11.0.1
"engines": {
"node": ">=12.0.0"
},
So both versions should work on Node 16
from bindings-cpp.
doh! <I've only been able to review this on my mobile, so sorry if I'm mistaken>
The alpine binaries are built using prebuildify (which only uses LTS releases), so it looks like any binaries will drop support soon as a node version leaves LTS, even if the underlying code is still compatible and can be build from source.
@hardillb I think your analysis is correct and it is an issue with the pre-build binaries. For now you can either pin an earlier binary version, or build from source
@reconbot keen to get your thoughts... it looks like holding out support for older versions of nodejs is getting harder, perhaps we need to pencil in a release for around 2023-09-11 to drop node 16, to avoid similar issues?
from bindings-cpp.
One other note, the current system doesn't appear to support npm rebuild
which should normally rebuild any binary components, where as for @serialport/bindings-cpp you have to run npm run rebuild
actually in it's directory (where as npm rebuild
can do all modules in the node_modules
dir). This is a break from expected normal behaviour for nodes with binary components.
from bindings-cpp.
Same trouble here.
Hi @GazHank, from prebuildify usage:
It's possible to use custom images with e.g. -i my-namespace/my-image.
And for ARM they are using images from dockcross where I can see dockcross/linux-armv7l-musl. Could this image be added to the GitHub Actions workflow?
If I understood it correctly it would simply change:
- name: linux-arm
os: ubuntu-latest
command: prebuildify-cross
args: -i linux-arm64-lts -i linux-armv7 -i linux-armv6
By:
- name: linux-arm
os: ubuntu-latest
command: prebuildify-cross
args: -i linux-arm64-lts -i linux-armv7 -i linux-armv6 -i dockcross/linux-armv7l-musl
For me this would be enough, but there is also an image for armv6-musl if anyone might be interested.
PS: Okay, I guess based on that image you would have to make a Dockerfile with the configuration used by prebuildify
.
from bindings-cpp.
Related Issues (13)
- Wont build on python 2 HOT 3
- Control fOutxCtsFlow with flag
- udevadm has changed attribute names HOT 9
- Recursion+memory leak in unixRead()
- Dependency Dashboard HOT 2
- Builds are broken on Windows Server 2022
- Update Node dependency from 12.17.0 to 12.14.1 HOT 8
- SerialPort.list() does not support Unicode encoding in ports' parameters values, replacing diacritics (accents) with � HOT 3
- Builds are not 100% node version safe HOT 1
- ARM version not detected for 32-bit arm versions HOT 3
- Compatible with Electron 21+ / V8's Memory Cage?
- Unsupported architecture for MacOS
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bindings-cpp.