Процедура инициализации библиотеки динамической компоновки (DLL) не удалась в электронном виде с помощью nodegit - PullRequest
0 голосов
/ 06 декабря 2018

Когда я использую nodegit в электронном виде, я получаю сообщение об ошибке при запуске приложения:

Приложение выдало ошибку при загрузке

Ошибка: библиотека динамических ссылок (DLL)Ошибка инициализации(ELECTRON_ASAR.js: 166: 20)

в Object.Module._extensions..node (внутренний / modules / cjs / loader.js: 740: 18)

...

Я могу успешно использовать nodegit в nodejs, но в электронном сбое.

Даже если я добавил файл .npmrc с содержимым ниже, он все еще имеет свои права.

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

Кто-нибудь знает, как исправить это в электроне?Моя среда Windows 10 x64 с 2017 года, узел 10.13, электрон 3,010

Ответы [ 2 ]

0 голосов
/ 23 июля 2019

Из этой ссылки :

Наиболее распространенная проблема заключается в том, что компонент установлен неправильно, поэтому некоторые его зависимости недоступны.

0 голосов
/ 31 января 2019

У меня была такая же проблема с другим пакетом узла, использующим электрон 3.0.6, и в итоге он заработал.

Попробуйте:

  1. Убедитесь, что пакеты перечисленыпод зависимостями, а не с devDependencies в пакете. json

  2. Добавьте это «перестройка электронов --force node-gyp rebuild --target = 3.0.6 --arch = x64» дляPostinstall в разделе сценариев.Я закончил с этим в моем 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": {
             ...
        }
    }
    

См. здесь для получения дополнительной информации

Надеюсь, это кому-нибудь поможет

...