Я впервые строю что-то с Электроном.Теперь я прочитал все, что есть в разделе FAQ этого модуля ( node-pcsclite ) и "Могу ли я использовать эту библиотеку в моем приложении Electron?"раздел.Я попробовал все из электронных документов ( Использование модулей нативных узлов ).Единственное, что я не пробовал, это «Ручная сборка для пользовательской сборки Electron» - поскольку я не запускаю пользовательскую сборку Electron.
То, что я пробовал:
- Разные версии почти всего.
- Пробовал делать все на OSX и Linux.
- Старые версии узла и npm.
- Различные электронные заголовки.
- Проверено, чтоцелевые архитектуры процессора совпадают.
- Попытка упаковать приложение с помощью электронного компоновщика и запустить его в OSX.
- Попытаться перенастроить электронный компоновщик с такими параметрами, как buildDependenciesFromSource и npmRebuild, для которых установлено значениеtrue.
- Удалил node_modules, удалил кеш и несколько раз пытался переустановить все.
- Попытался вручную скопировать "pcsclite.node" из node_modules / @ pokusew / pcsclite / build / Release "в папку сборки проекта и перепакую его снова - все еще получаю ту же ошибку.
безуспешно. Я продолжаю получать следующее Uncaught Excкаждый раз, когда я запускаю приложение (будь то с «электронным» (npm start) или как полностью упакованное приложение с электронным компоновщиком).
Error: Cannot find module 'pcsclite'
at Module._resolveFilename (internal/modules/cjs/loader.js:584:15)
at Function.Module._resolveFilename (/Users/flackjap/Code/vozzi/electronic-service-book/first-test/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/common/reset-search-paths.js:43:12)
at Function.Module._load (internal/modules/cjs/loader.js:510:25)
at Module.require (internal/modules/cjs/loader.js:640:17)
at require (internal/modules/cjs/helpers.js:20:18)
at Object.<anonymous> (/Users/flackjap/Code/vozzi/electronic-service-book/first-test/main.js:4:18)
at Object.<anonymous> (/Users/flackjap/Code/vozzi/electronic-service-book/first-test/main.js:144:3)
at Module._compile (internal/modules/cjs/loader.js:693:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:704:10)
at Module.load (internal/modules/cjs/loader.js:602:32)
Я не уверен, что это общая проблема ссборка собственных модулей или просто проблема с этим модулем специально.Я попробовал поискать в Google и не нашел достаточно связанных проблем, поэтому мне показалось, что проблема может быть именно с этим модулем.
Это мой package.json:
"name": "electron-quick-start",
"version": "1.0.0",
"description": "A minimal Electron application",
"main": "main.js",
"scripts": {
"start": "electron .",
"pack": "electron-builder --dir",
"distt": "electron-builder",
"dist": "build"
},
"repository": "https://github.com/electron/electron-quick-start",
"keywords": [
"Electron",
"quick",
"start",
"tutorial",
"demo"
],
"author": "GitHub",
"license": "CC0-1.0",
"devDependencies": {
"electron-builder": "^20.38.5",
"electron-rebuild": "^1.8.4"
},
"dependencies": {
"electron": "^4.0.4",
"@pokusew/pcsclite": "^0.5.1"
},
"build": {
"buildDependenciesFromSource": true,
"nodeGypRebuild": false,
"npmRebuild": true,
"appId": "electron.vozzi.app",
"dmg": {
"contents": [
{
"x": 110,
"y": 150
},
{
"x": 240,
"y": 150,
"type": "link",
"path": "/Applications"
}
]
},
"linux": {
"target": [
"AppImage",
"deb"
]
},
"win": {
"target": "squirrel",
"icon": "build/icon.ico"
}
}
}
Единственное, что я нахожу немного подозрительным, это структура папок для этого модуля, так как у него есть две родительские папки (node_modules / @ pokusew / pcsclite / ...), и что, возможно, некоторые пути неверно настроены, но я не знаю, гдепосмотреть или как отлаживать.Однако в некоторых комментариях Stackoverflow я видел, что в некоторых случаях люди вручную настраивают пути к некоторым модулям, но я не уверен, как мне подходить к этому или даже делать это.