Uncaught Exception: ошибка: не удается найти модуль 'pcsclite' - PullRequest
0 голосов
/ 21 февраля 2019

Я впервые строю что-то с Электроном.Теперь я прочитал все, что есть в разделе 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 я видел, что в некоторых случаях люди вручную настраивают пути к некоторым модулям, но я не уверен, как мне подходить к этому или даже делать это.

...