我编写了一个自定义节点插件,在运行64位版本的Electron时可以正常工作。 我尝试将架构设置为ia32并且所有内容都已构建,但无论我做什么,我都会收到无效的win32应用程序错误。
我的环境设置为:
npm_config_disturl=https://atom.io/download/atom-shell
set npm_config_target=1.0.1
set npm_config_arch=ia32
set npm_config_runtime=electron
set HOME="C:\Users\myHome\.electron-gyp"
set VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140
我一直在通过调用npm install来构建插件。
答案 0 :(得分:0)
这是我将节点设置为32位目标并以32位格式安装所有软件包的方法。这个对我有用。您可以尝试。
npm set npm_config_arch ia32
npm clean-install --arch=ia32
第一个命令将节点环境设置为32位。 第二条命令重新安装所有与32位兼容的节点程序包。
答案 1 :(得分:-1)
我试图从mi Mac编译Windows,但我也遇到了这个问题,但是经过一番阅读,我弄清楚了如何进行操作,毕竟我可以说我明白了。昨天我花了一整天的时间在(其他)Linux笔记本电脑中设置Windows虚拟机(我之所以使用linux笔记本电脑,是因为我的Mac电脑的存储空间已耗尽...)。我在Windows中的电子主进程的preloadScript遇到了问题,Cant找到了该脚本,它也已解决。
无论如何,我认为@tojocky的库节点打印机维护得很好,另一方面,在电子生成器文档中,他们说您出于自然原因应该使用本机编译。有了它,您将看到它是一个更干净实用的解决方案...
这是我的整个过程,希望对遇到相同问题的人有所帮助:
然后重试npm i和Voila! 毕竟,您应该使用electron-builder进行构建,在我的情况下,我的npm脚本命令是build --win --x64,但是您也可以对32位使用--ia32标志