electron调用C++的dll文件 安装node-gyp rebuild失败

node-gyp rebuild

D:\web\electron-medical-self>node-gyp rebuild
gyp info it worked if it ends with ok
gyp info using node-gyp@6.1.0
gyp info using node@8.12.0 | win32 | ia32
gyp ERR! find Python
gyp ERR! find Python Python is not set from command line or npm configuration
gyp ERR! find Python Python is not set from environment variable PYTHON
gyp ERR! find Python checking if "python3" can be used
gyp ERR! find Python - "python3" is not in PATH or produced an error
gyp ERR! find Python checking if "python" can be used
gyp ERR! find Python - "python" is not in PATH or produced an error
gyp ERR! find Python checking if "python2" can be used
gyp ERR! find Python - "python2" is not in PATH or produced an error
gyp ERR! find Python checking if Python is C:\Python37\python.exe
gyp ERR! find Python - "C:\Python37\python.exe" could not be run
gyp ERR! find Python checking if Python is C:\Python27\python.exe
gyp ERR! find Python - "C:\Python27\python.exe" could not be run
gyp ERR! find Python checking if the py launcher can be used to find Python 2
gyp ERR! find Python - "py.exe" is not in PATH or produced an error
gyp ERR! find Python
gyp ERR! find Python **********************************************************
gyp ERR! find Python You need to install the latest version of Python.
gyp ERR! find Python Node-gyp should be able to find and use Python. If not,
gyp ERR! find Python you can try one of the following options:
gyp ERR! find Python - Use the switch --python="C:\Path\To\python.exe"
gyp ERR! find Python   (accepted by both node-gyp and npm)
gyp ERR! find Python - Set the environment variable PYTHON
gyp ERR! find Python - Set the npm configuration variable python:
gyp ERR! find Python   npm config set python "C:\Path\To\python.exe"
gyp ERR! find Python For more information consult the documentation at:
gyp ERR! find Python https://github.com/nodejs/node-gyp#installation
gyp ERR! find Python **********************************************************
gyp ERR! find Python
gyp ERR! configure error
gyp ERR! stack Error: Could not find any Python installation to use
gyp ERR! stack     at PythonFinder.fail (D:\web\electron-medical-self\node_modules\node-gyp\lib\find-python.js:307:47)
gyp ERR! stack     at PythonFinder.runChecks (D:\web\electron-medical-self\node_modules\node-gyp\lib\find-python.js:136:21)
gyp ERR! stack     at PythonFinder.<anonymous> (D:\web\electron-medical-self\node_modules\node-gyp\lib\find-python.js:205:18)
gyp ERR! stack     at PythonFinder.execFileCallback (D:\web\electron-medical-self\node_modules\node-gyp\lib\find-python.js:271:16)
gyp ERR! stack     at exithandler (child_process.js:283:5)
gyp ERR! stack     at ChildProcess.errorhandler (child_process.js:295:5)
gyp ERR! stack     at emitOne (events.js:116:13)
gyp ERR! stack     at ChildProcess.emit (events.js:211:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:196:12)
gyp ERR! stack     at onErrorNT (internal/child_process.js:362:16)
gyp ERR! System Windows_NT 10.0.18363
gyp ERR! command "D:\\node\\node.exe" "D:\\web\\electron-medical-self\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd D:\web\electron-medical-self
gyp ERR! node -v v8.12.0
gyp ERR! node-gyp -v v6.1.0
gyp ERR! not ok

解决方案:

方案一:下载python2.7 安装即可 (不过记得配置环境变量)

方案二:管理员权限打开执行:npm install --global --production windows-build-tools
在这里插入图片描述

证明安装成功
安装依赖
安装依赖失败: 删除node_module文件

运行 报错

Error: The module '\\?\D:\web\electron-medical-self\node_modules\ref\build\Release\binding.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 57. This version of Node.js requires
NODE_MODULE_VERSION 69. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
    at process.module.(:9080/anonymous function) [as dlopen] (ELECTRON_ASAR.js:160:31)
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:722)
    at Object.module.(:9080/anonymous function) [as .node] (ELECTRON_ASAR.js:160:31)
    at Module.load (internal/modules/cjs/loader.js:602)
    at tryModuleLoad (internal/modules/cjs/loader.js:541)
    at Function.Module._load (internal/modules/cjs/loader.js:533)
    at Module.require (internal/modules/cjs/loader.js:640)
    at require (internal/modules/cjs/helpers.js:20)
    at bindings (D:\web\electron-medical-self\node_modules\bindings\bindings.js:76)
    at Object.<anonymous> (D:\web\electron-medical-self\node_modules\ref\lib\ref.js:5)

解决办法:https://juejin.im/post/6844903874785083406
参考:https://blog.csdn.net/wang839305939/article/details/83780789
http://www.gqz666.cn/article/111.html
把node_module的文件删除重新npm
然后直接 run build 根据 build的信息修改报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值