Error: Could not locate the bindings file

Hi,

I am having the same problem that I have seen reported here by others, but the solutions offered haven’t worked for me. I am running Mac OS Big Sur 11.4, node.js v16.4.0. I followed the steps offered in the tutorial (https://github.com/edgeimpulse/example-SparkFun-MicroMod-nRF52840) until I try this: edge-impulse-data-forwarder --clean
I get the following error:

/usr/local/lib/node_modules/edge-impulse-cli/node_modules/bindings/bindings.js:135
throw err;
^

Error: Could not locate the bindings file. Tried:
→ /usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/build/bindings.node
→ /usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/build/Debug/bindings.node
→ /usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/build/Release/bindings.node
→ /usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/out/Debug/bindings.node
→ /usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/Debug/bindings.node
→ /usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/out/Release/bindings.node
→ /usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/Release/bindings.node
→ /usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/build/default/bindings.node
→ /usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/compiled/16.4.0/darwin/x64/bindings.node
→ /usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/addon-build/release/install-root/bindings.node
→ /usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/addon-build/debug/install-root/bindings.node
→ /usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/addon-build/default/install-root/bindings.node
→ /usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/lib/binding/node-v93-darwin-x64/bindings.node
at bindings (/usr/local/lib/node_modules/edge-impulse-cli/node_modules/bindings/bindings.js:126:9)
at Object. (/usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/lib/darwin.js:2:36)
at Module._compile (node:internal/modules/cjs/loader:1095:14)
at Object.Module._extensions…js (node:internal/modules/cjs/loader:1124:10)
at Module.load (node:internal/modules/cjs/loader:975:32)
at Function.Module._load (node:internal/modules/cjs/loader:816:12)
at Module.require (node:internal/modules/cjs/loader:999:19)
at require (node:internal/modules/cjs/helpers:93:18)
at Object. (/usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/lib/index.js:10:22)
at Module._compile (node:internal/modules/cjs/loader:1095:14) {
tries: [
‘/usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/build/bindings.node’,
‘/usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/build/Debug/bindings.node’,
‘/usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/build/Release/bindings.node’,
‘/usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/out/Debug/bindings.node’,
‘/usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/Debug/bindings.node’,
‘/usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/out/Release/bindings.node’,
‘/usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/Release/bindings.node’,
‘/usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/build/default/bindings.node’,
‘/usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/compiled/16.4.0/darwin/x64/bindings.node’,
‘/usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/addon-build/release/install-root/bindings.node’,
‘/usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/addon-build/debug/install-root/bindings.node’,
‘/usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/addon-build/default/install-root/bindings.node’,
‘/usr/local/lib/node_modules/edge-impulse-cli/node_modules/@serialport/bindings/lib/binding/node-v93-darwin-x64/bindings.node’
]
}

I have tried uninstalling and reinstalling edge-impulse-cli and rebooting several times to no avail.

please advise.

Hello @karl404,

I just tested on Mac OS Big Sur 11.4 with a fresh installation of nodeJS v16.4.0.
I have not been able to reproduce your error.

Note that I installed NodeJS with nvm https://github.com/nvm-sh/nvm so maybe this is different from how you installed your NodeJS.

Could you try reinstalling NodeJS to see if anything changes please?

Regards,

Louis

I just tried installing node.js 16.4.0 using nvm as you suggested above. entering node --version confirms that v16.4.0 is running.

Unfortunately, the same error results:

"/usr/local/lib/node_modules/edge-impulse-cli/node_modules/bindings/bindings.js:135
throw err;
^

Error: Could not locate the bindings file."

Thanks for your help with this.

Hi @karl404 I recently ran into similar errors on a fresh instal of High Sierra 10.13.6
It required first installing Xcode command line tools.
sudo npm uninstall -g edge-impulse-cli
sudo npm install -g edge-impulse-cli --force
Hope it helps

3 Likes

That did it! Thank you so much.

2 Likes