错误:找不到绑定文件。试过:

Posted

技术标签:

【中文标题】错误:找不到绑定文件。试过:【英文标题】:Error: Could not locate the bindings file. Tried: 【发布时间】:2016-12-24 10:29:02 【问题描述】:

我在尝试运行包含我的 express 应用程序的电子应用程序时遇到了以下错误。

Error: Could not locate the bindings file. Tried:

我认为问题与 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)

【问题讨论】:

【参考方案1】:

您需要重新构建串行端口模块,因为它使用与 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>

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

node-gyp rebuild --target=1.2.5 --arch=x64 --dist-url="https://atom.io/download/atom-shell" --msvs_version=2013

【讨论】:

【参考方案2】:

我遇到了类似的问题。我的解决方案:我更具体地了解了我使用的 nodejs 版本。我有最新版本(在撰写本文时)13.8,我遇到了与 OP 相同的问题。

所以我安装了 nvm 并开始使用它来选择我的 nodejs。

$ nvm install --lts 
$ nvm use --lts
Now using node v12.16.0

当前的长期支持版本(在撰写本文时)是 12.6。我为应用程序重做了npm install,之后我的串口没有问题。从理论上讲,我可以一直安装 nvm' 安装不同版本的 nodejs,直到我得到一个可以工作的版本。

【讨论】:

【参考方案3】:

在通过 Dependabot 合并软件包更新并运行 npm audit fix 后,我遇到了一个引发 Could not locate the bindings file 错误的问题。

我的修复程序正在运行 npm ci

【讨论】:

以上是关于错误:找不到绑定文件。试过:的主要内容,如果未能解决你的问题,请参考以下文章

错误:找不到绑定文件。尝试过:#56

“找不到 libsass 绑定。尝试重新安装 node-sass”

关于mybatis的各种绑定(bind)错误,找不到类的情况

IIS默认网站启动不了,iis提示:找不到指定的程序,错误127

Android 数据绑定:在生成的数据绑定文件中找不到 ...BindingImpl

开机出现:错误 系统找不到指定的文件。试过很多方法了,还是不行,求高手解决啊~