Error: Could not locate the bindings file. Tried:
You need to rebuild the serialport module as it uses different V8 headers than Electron.
First you will need to set up a node-gyp toolchain (https://github.com/nodejs/node-gyp)
Next, install any version of Visual Studio.
Open a command window and change directory to node_modules/serialport within your project.
Enter this command with the appropriate variables:
node-gyp rebuild --target=<electron_version> --arch=<arch> --dist-url="https://atom.io/download/atom-shell" --msvs_version=<visual_studio_year>
For an example this is the command I use when rebuilding:
node-gyp rebuild --target=1.2.5 --arch=x64 --dist-url="https://atom.io/download/atom-shell" --msvs_version=2013
I had a similar problem. My solution: I got more specific about which version of nodejs I was using. I had the latest release (at this writing) 13.8 and I had the same problems as the OP.
So I installed nvm and started using it to pick my nodejs.
$ nvm install --lts
$ nvm use --lts
Now using node v12.16.0
The current Long Term Support version (at this writing) is 12.6. I redid npm install
for the app and after that I had no problems with the serial port. Theoretically, I could have kept nvm'installing different version of nodejs until I got the one that worked.
I had a problem that threw a Could not locate the bindings file
error after merging package updates via Dependabot, and running npm audit fix
.
My fix was running npm ci
.