未捕获的异常:错误:找不到模块“ pcsclite”

时间:2019-02-21 15:48:29

标签: node.js electron electron-builder pcsc

这是我第一次用Electron构建东西。 现在,我阅读了本模块(node-pcsclite)的“常见问题”部分中的所有内容,以及“我可以在我的Electron应用程序中使用此库吗?”部分。 我尝试了Electron文档(Using Native Node Modules)中的所有内容。我唯一没有尝试的是“手动构建自定义的Electron构建”-因为我没有运行自定义的Electron构建。

我尝试过的事情:

  • 几乎所有内容的不同版本。
  • 尝试在OSX和Linux上进行所有操作。
  • 较旧的节点和npm版本。
  • 不同的电子接头。
  • 检查了cpu目标体系结构是否匹配。
  • 尝试将应用与电子生成器打包并在OSX上运行。
  • 尝试通过将buildDependenciesFromSource和npmRebuild等选项设置为true来重新配置电子生成器。
  • 删除了node_modules,删除了缓存,并尝试重新安装了几次。
  • 尝试将“ pcsclite.node”从node_modules / @ pokusew / pcsclite / build / Release中复制到项目的build文件夹中,然后再次重新打包-仍然出现相同的错误。

没有成功。 每当我运行该应用程序时(无论是“ electron”。(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注释中看到人们在某些情况下正在手动配置一些模块路径,但是我不确定应该如何处理甚至是应该这样做。

0 个答案:

没有答案