Windows CLI error

Hi
When I run edge-impulse-data-forwarder.cmd I get the following error.

C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\bindings\bindings.js:135
 throw err;
 ^

Error: Could not locate the bindings file. Tried:
→ C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\build\bindings.node
→ C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\build\Debug\bindings.node
→ C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\build\Release\bindings.node
→ C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\out\Debug\bindings.node
→ C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\Debug\bindings.node
→ C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\out\Release\bindings.node
→ C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\Release\bindings.node
→ C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\build\default\bindings.node
→ C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\compiled\12.16.3\win32\x64\bindings.node
→ C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\addon-build\release\install-root\bindings.node
→ C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\addon-build\debug\install-root\bindings.node
→ C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\addon-build\default\install-root\bindings.node
→ C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\lib\binding\node-v72-win32-x64\bindings.node
   at bindings (C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\bindings\bindings.js:126:9)
   at Object.<anonymous> (C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\lib\win32.js:1:36)
   at Module._compile (internal/modules/cjs/loader.js:1133:30)
   at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
   at Module.load (internal/modules/cjs/loader.js:977:32)
   at Function.Module._load (internal/modules/cjs/loader.js:877:14)
   at Module.require (internal/modules/cjs/loader.js:1019:19)
   at require (internal/modules/cjs/helpers.js:77:18)
   at Object.<anonymous> (C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\@serialport\bindings\lib\index.js:6:22)
   at Module._compile (internal/modules/cjs/loader.js:1133:30) {
 tries: [
   'C:\\Users\\paul\\AppData\\Roaming\\npm\\node_modules\\edge-impulse-cli\\node_modules\\@serialport\\bindings\\build\\bindings.node',
   'C:\\Users\\paul\\AppData\\Roaming\\npm\\node_modules\\edge-impulse-cli\\node_modules\\@serialport\\bindings\\build\\Debug\\bindings.node',
   'C:\\Users\\paul\\AppData\\Roaming\\npm\\node_modules\\edge-impulse-cli\\node_modules\\@serialport\\bindings\\build\\Release\\bindings.node',
   'C:\\Users\\paul\\AppData\\Roaming\\npm\\node_modules\\edge-impulse-cli\\node_modules\\@serialport\\bindings\\out\\Debug\\bindings.node',
   'C:\\Users\\paul\\AppData\\Roaming\\npm\\node_modules\\edge-impulse-cli\\node_modules\\@serialport\\bindings\\Debug\\bindings.node',
   'C:\\Users\\paul\\AppData\\Roaming\\npm\\node_modules\\edge-impulse-cli\\node_modules\\@serialport\\bindings\\out\\Release\\bindings.node',
   'C:\\Users\\paul\\AppData\\Roaming\\npm\\node_modules\\edge-impulse-cli\\node_modules\\@serialport\\bindings\\Release\\bindings.node',
   'C:\\Users\\paul\\AppData\\Roaming\\npm\\node_modules\\edge-impulse-cli\\node_modules\\@serialport\\bindings\\build\\default\\bindings.node',
   'C:\\Users\\paul\\AppData\\Roaming\\npm\\node_modules\\edge-impulse-cli\\node_modules\\@serialport\\bindings\\compiled\\12.16.3\\win32\\x64\\bindings.node',
   'C:\\Users\\paul\\AppData\\Roaming\\npm\\node_modules\\edge-impulse-cli\\node_modules\\@serialport\\bindings\\addon-build\\release\\install-root\\bindings.node',
   'C:\\Users\\paul\\AppData\\Roaming\\npm\\node_modules\\edge-impulse-cli\\node_modules\\@serialport\\bindings\\addon-build\\debug\\install-root\\bindings.node',
   'C:\\Users\\paul\\AppData\\Roaming\\npm\\node_modules\\edge-impulse-cli\\node_modules\\@serialport\\bindings\\addon-build\\default\\install-root\\bindings.node',
   'C:\\Users\\paul\\AppData\\Roaming\\npm\\node_modules\\edge-impulse-cli\\node_modules\\@serialport\\bindings\\lib\\binding\\node-v72-win32-x64\\bindings.node'
 ]
}

Please advise.
I am using windows 10 with
node.exe --version v12.16.3

Hi @paulphilip, what’s the output of the:

npm install edge-impulse-cli -g

command? Looks like an error occured there prior and it cannot locate the bindings for the serialport package.

1 Like

I followed the instruction as given in https://docs.edgeimpulse.com/docs/cli-installation

npm install edge-impulse-cli -g
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
C:\Users\paul\AppData\Roaming\npm\edge-impulse-uploader -> C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\build\serial-daemon\cli\uploader.js
C:\Users\paul\AppData\Roaming\npm\edge-impulse-data-forwarder -> C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\build\serial-daemon\cli\data-forwarder.js
C:\Users\paul\AppData\Roaming\npm\edge-impulse-daemon -> C:\Users\paul\AppData\Roaming\npm\node_modules\edge-impulse-cli\build\serial-daemon\cli\daemon.js
npm WARN tsargs@1.4.0 requires a peer of typescript@^3.1.6 but none is installed. You must install peer dependencies yourself.

+ edge-impulse-cli@1.6.0
updated 1 package in 17.656s

Still I am facing the error

Resolved it by

npm uninstall -g  edge-impulse-cli

and then installing again. Thanks for the support.

4 Likes

Thanks for keeping me posted! :rocket:

im facing the same problem

Hi @delphi,

Have you tried running this?

Aurelien

yeah I’m facing an error while I’m installing

C:\Users\Falcon>npm install -g edge-impulse-cli
npm WARN deprecated request-promise@4.2.6: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN rollback Rolling back yallist@4.0.0 failed (this is probably harmless): EPERM: operation not permitted, lstat ‘C:\Users\Falcon\AppData\Roaming\npm\node_modules\edge-impulse-cli\node_modules\minizlib\node_modules’
npm WARN tsargs@1.4.0 requires a peer of typescript@^3.1.6 but none is installed. You must install peer dependencies yourself.

npm ERR! code EEXIST
npm ERR! path C:\Users\Falcon\AppData\Roaming\npm\node_modules\edge-impulse-cli\build\cli\daemon.js
npm ERR! dest C:\Users\Falcon\AppData\Roaming\npm\edge-impulse-daemon
npm ERR! EEXIST: file already exists, cmd shim ‘C:\Users\Falcon\AppData\Roaming\npm\node_modules\edge-impulse-cli\build\cli\daemon.js’ -> ‘C:\Users\Falcon\AppData\Roaming\npm\edge-impulse-daemon’
npm ERR! File exists: C:\Users\Falcon\AppData\Roaming\npm\edge-impulse-daemon
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with --force to overwrite files recklessly.

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Falcon\AppData\Roaming\npm-cache_logs\2020-10-10T02_34_11_950Z-debug.log

what can I do for this

Looks like the CLI is already installed.
If your PATH hasn’t been updated try to uninstall/reinstall the CLI

Yeah now, I have done. Thank you

Hey @Ashshak good to see you here!
Also I have figured out one thing if you face some errors in the Edge Impulse CLI on Windows just Reboot the device once and that will do the work. I faced the same too but Rebooting made it work. :slight_smile:

Good to see you here too. sorry for the late reply. Thank you so much for your opinion I will do that.

We are trying this out for a class project and I have some students still getting this error …\bindings.js:135 throw err; when they run edge-impulse-data-forwarder. The uninstall/install/reboot method has not solved the problem. Any tips on how to trouble shoot this more to provide additional data? Also, many of us need to use the -force option in the install to get it to work. Thanks

UPDATE: Problem resolved with installing nodejs Version 16 and running uninstall/install of npm. No longer need to use -force either.

1 Like
  • For Windows users, install the Additional Node.js tools when prompted. You may skip this setup if you have Visual Studio 2015 or more.

The above step in the docs is a prequisite. You may need to reinstall your version of Node with that option then it should work for most versions of Node.

1 Like

Dear Aurel how to see if the path is updated

Hi @josephsoso,

You can check the path in the System Properties -> Advanced -> Environment variables.
Edit the Path variable and check you have the npm folder, ie:

Aurelien