错误:找不到绑定文件.尝试:

Joh*_*ohn 5 serial-port node.js npm express electron

我试图运行包含我的快递应用程序的电子应用程序时遇到以下错误.

Error: Could not locate the bindings file. Tried:
Run Code Online (Sandbox Code Playgroud)

我认为这个问题与serialport模块有关,因为没有它需要一切正常.

C:\Users\Jonathan\Desktop\client\<NAME>\electron-with-express\express-app\node_modules\bindings\bindings.js:91

<br>Error: Could not locate the bindings file. Tried:
<br> ? C:\Users\Jonathan\Desktop\client\<NAME>\electron-with-express\express-app\node_modules\serialport\build\serialport.node
<br> ? C:\Users\Jonathan\Desktop\client\<NAME>\electron-with-express\express-app\node_modules\serialport\build\Debug\serialport.node
<br> ? C:\Users\Jonathan\Desktop\client\<NAME>\electron-with-express\express-app\node_modules\serialport\build\Release\serialport.node
<br> ? C:\Users\Jonathan\Desktop\client\<NAME>\electron-with-express\express-app\node_modules\serialport\out\Debug\serialport.node
<br> ? C:\Users\Jonathan\Desktop\client\<NAME>\electron-with-express\express-app\node_modules\serialport\Debug\serialport.node
<br> ? C:\Users\Jonathan\Desktop\client\<NAME>\electron-with-express\express-app\node_modules\serialport\out\Release\serialport.node
<br> ? C:\Users\Jonathan\Desktop\client\<NAME>\electron-with-express\express-app\node_modules\serialport\Release\serialport.node
<br> ? C:\Users\Jonathan\Desktop\client\<NAME>\electron-with-express\express-app\node_modules\serialport\build\default\serialport.node
<br> ? C:\Users\Jonathan\Desktop\client\<NAME>\electron-with-express\express-app\node_modules\serialport\compiled\6.3.1\win32\ia32\serialport.node
<br>    at bindings (C:\Users\Jonathan\Desktop\client\<NAME>\electron-with-express\express-app\node_modules\bindings\bindings.js:88:9)
<br>    at Object.<anonymous> (C:\Users\Jonathan\Desktop\client\<NAME>\electron-with-express\express-app\node_modules\serialport\lib\bindings.js:3:35)
<br></anonymous>    at Module._compile (module.js:541:32)
<br>    at Object.Module._extensions..js (module.js:550:10)
<br>    at Module.load (module.js:458:32)
<br>    at tryModuleLoad (module.js:417:12)
<br>    at Function.Module._load (module.js:409:3)
<br>    at Module.require (module.js:468:17)
<br>    at require (internal/module.js:20:19)
<br>    at Object.<anonymous> (C:\Users\Jonathan\Desktop\client\<NAME>\electron-with-express\express-app\node_modules\serialport\lib\serialport.js:15:25)
Run Code Online (Sandbox Code Playgroud)

小智 3

您需要重建串行端口模块,因为它使用与 Electron 不同的 V8 标头。

首先,您需要设置一个node-gyp工具链(https://github.com/nodejs/node-gyp

接下来,安装任何版本的 Visual Studio。

打开命令窗口并将目录更改为项目中的node_modules/serialport。

输入带有适当变量的命令:

node-gyp rebuild --target=<electron_version> --arch=<arch> --dist-url="https://atom.io/download/atom-shell" --msvs_version=<visual_studio_year>
Run Code Online (Sandbox Code Playgroud)

例如,这是我在重建时使用的命令:

node-gyp rebuild --target=1.2.5 --arch=x64 --dist-url="https://atom.io/download/atom-shell" --msvs_version=2013
Run Code Online (Sandbox Code Playgroud)