记录 electron-vue 通过node ffi调用dll文件,node-gyp配置的坑

先说下楼主软件的版本:

安装网上大部分安装electron-vue的步骤来,npm run dev 可以成功,npm run build打死也不成功,这个可是困扰了楼主三天三夜啊。。,错误见下图

node-gyp的锅

乍一看就是node-gyp的锅,后来发现确实也是他的锅,查看了网上很多解决的办法,譬如:

npm config set npm_config_node_gyp=C:\Program Files(x86)\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js

npm config set NODE_TLS_REJECT_UNAUTHORIZED=0

npm config set msvs_version 2017

等等。。。还是不成功,如果有同样错误的童鞋可以一步一步试下来,说不定对你有用呢

我的终极解决办法

(1)在项目根目录下新建.npmrc文件

# Electron 的版本,注意要去node_modules文件夹下,看electron安装的实际版本,光看package.json下面有时候会不准确。setnpm config--target=2.0.18

# Electron 的系统架构, 值为 ia32 或者 x64。setnpm config--arch=ia32

# 下载 Electron 的 headers。setnpm config--disturl=https://npm.taobao.org/mirrors/atom/

# 告诉 node-pre-gyp 我们是在为 Electron 生成模块。setnpm config--runtime=electron

(2)找到项目目录下的node_modules文件夹,找到 命令行定位分别到ref和ffi两个文件夹下,执行以下命令 node-gyp rebuild(网上有些说要带上electron的版本号,譬如:node-gyp rebuild --arch=ia32--dist-url=https://atom.io/download/atom-shell--runtime=electron--target=2.0.18(electron的版本),我执行了并不成功,干脆就把后面的都去掉,直接执行node-gyp rebuild),看到如下已完成代码生成字样即为成功。

(3)删除C:\Users\用户名\.node_gyp 文件夹以及C:\Users\用户名\.npmrc文件

执行npm run build 大功告成!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。