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

时间:2018-12-06 09:08:20

标签: node.js electron nodegit

当我在电子中使用nodegit时,启动应用程序时出现错误:

  

应用在加载期间抛出错误

     

错误:动态链接库(DLL)初始化例程失败。

     

\?\ D:\ Electron \ hello \ node_modules \ nodegit \ build \ Release \ nodegit.node

     

在process.module。(匿名函数)[作为dlopen](ELECTRON_ASAR.js:166:20)

     

在Object.Module._extensions..node(internal / modules / cjs / loader.js:740:18)

     

...

我可以在nodejs中成功使用nodegit,但在电子方面却失败。

即使我添加了.npmrc文件,但其内容仍在下面。

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

有人知道如何将其固定在电子中吗?  我的环境是Windows 10 x64 with vs 2017,节点10.13,电子3.010

2 个答案:

答案 0 :(得分:0)

我在另一个使用电子3.0.6的节点封装中遇到了同样的问题,最终使它工作。

尝试以下方法:

  1. 确保在package.json

  2. 中的依赖项下列出了软件包,而不是devDependencies
  3. 将此“电子重建--force node-gyp重建--target = 3.0.6 --arch = x64”添加到脚本部分下的后安装。我最终在我的packages.json中找到了这个(我的DLL错误是由“打印机”引起的)

    {
        "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": {
             ...
        }
    }
    

有关更多信息,请参见here

希望这对某人有帮助

答案 1 :(得分:0)

从此link

  

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