NodeJS 动态链接库(DLL)初始化例程在具有nodegit的电子中失败

pbpqsu0x  于 2022-11-04  发布在  Node.js
关注(0)|答案(3)|浏览(141)

当我在electron中使用nodegit时,我在启动应用程序时收到错误:
应用程序在加载期间抛出错误
错误:动态链接库(DLL)初始化例程失败。
\?\D:\电子\你好\节点模块\节点代码\构建\发布\节点代码.节点
(匿名函数)[作为dlopen](电子邮件地址:166:20)
在对象.模块._扩展..节点(内部/模块/cjs/加载程序.js:740:18)
...
我可以在nodejs中成功地使用nodegit,但是在electron中失败了。
即使我添加了包含以下内容的.npmrc文件,它仍然失败。

runtime = electron
target = 1.2.8
target_arch = x64
disturl = https://atom.io/download/atom-shell

有没有人知道如何在电子中修复它?我的环境是windows 10 x64与vs 2017,节点10. 13,电子3. 010

lpwwtiir

lpwwtiir1#

我在使用electron 3. 0. 6的另一个节点包上也遇到了同样的问题,最终让它工作了。
请尝试以下操作:
1.确保包列在package.json中的依赖项下,而不是devDependencies下
1.将“electron-rebuild --force node-gyp rebuild --target=3.0.6 --arch=x64”添加到postinstall的脚本部分下。

{
    "name": "myproject",
    "version": "1.0.0",
    "main": "main.js",
    "scripts": {
        "postinstall": "electron-rebuild --force node-gyp rebuild --target=3.0.6 --arch=x64",
        "start": "electron ."
    },
    "dependencies": {
       "@types/node": "^10.12.18",
       "electron-rebuild": "1.8.2",
       "electron": "3.0.6",
       "printer": "0.2.2"
    },
    "devDependencies": {
         ...
    }
}

请参阅此处了解更多信息
希望这对某人有帮助

mzillmmw

mzillmmw2#

从这个link
但是最常见的问题是该组件未正确安装,因此它的某些依赖项不可用。

piv4azn7

piv4azn73#

首先确认全局节点版本是否与项目版本匹配。一些项目需要特定版本,因此首先删除其他节点并安装所需的节点版本和项目依赖项。尝试以下解决方案来解决错误,因为这些解决方案对我同样有效
1.清理节点模块[ https://medium.com/@mariokandut/how-to-clean-up-node-modules-5aed676156db ]并重新生成项目。它将重新生成node_modules文件夹
1.因为它是一个电子应用程序,请尝试yarn electron-rebuild。有关Yarn的更多信息,请参考“https://www.digitalocean.com/community/tutorials/how-to-install-and-use-the-yarn-package-manager-for-node-js
1.如果电子重建失败,请检查是否安装了“Visual C++构建环境”。请参阅https://stackoverflow.com/a/61252536/9558119了解相同信息。
1.重新运行电子重建,然后根据您的项目运行构建

相关问题