如何在没有网络的情况下运行 electron-packager离线?
How to run electron-packager offline without internet?
我有一个 Angular 项目。我想将他转换为桌面应用程序。为此,我使用 Electron.js.
我可以运行
electron .
它工作正常。
但是现在我想制作一个exe。
为此,我想使用 electron-packager。
问题:
我运行:
electron-packager . --platform=win32
错误:
getaddrinfo EAI_AGAIN github.com
我知道electron-packager需要github,但是怎么解决呢?!我再次在没有互联网的情况下离线工作(使用 jfrog artifactory)。
有没有其他电子包可以在没有互联网的情况下做同样的事情? (制作一个exe)
问题是electron-packager去github.com下载electron.js。
正如@Alexander Leithner 所说,使用 electronZipDir 选项。 (以及 Discord 电子通道中的 malept)
解决方法很简单,当你执行:
npm install electron
Electron 二进制文件的 zip 文件缓存在您的计算机中。
electron-packager 的命令如下所示:
npm install -D electron-packager
npx electron-packager . -- platform=win32 --electronZipDir=C:/Users/baruc/AppData/Local/electron/Cache/**some long string**
就这些
编辑 25/7/2021
理论上,electron-packager 有一个名为“download”的选项,您可以将“cacheRoot”或“mirrorOptions”传递给他以下载 electron.zip 文件。
默认情况下你不需要更改 cacheRoot,但不幸的是,下载的两个选项都不适合我。
顺便说一句,mirrorOptions 得到的是一个对象,而不是一个字符串。所以不清楚如何从命令行传递对象。
我看到在@electron/get 库的文件 artifact-utils.js 中,在名为“mirrorVar”的函数中它搜索了一个特殊的环境变量或我之前告诉过的 mirrorOptions .如果此函数找不到它们,它将采用默认值 github.
有神器时的解决方法:
在您的项目中创建一个 .npmrc 文件并在其中写入:
ELECTRON_MIRROR="http://我的镜像site/electron/"
请注意它以反斜杠结尾。
转到 package.json 文件,然后在脚本中写入:
"pac": "electron-packager -- . --platform=win32"
3.execute它:npm 运行 pac
我有一个 Angular 项目。我想将他转换为桌面应用程序。为此,我使用 Electron.js.
我可以运行
electron .
它工作正常。
但是现在我想制作一个exe。 为此,我想使用 electron-packager。
问题: 我运行:
electron-packager . --platform=win32
错误:
getaddrinfo EAI_AGAIN github.com
我知道electron-packager需要github,但是怎么解决呢?!我再次在没有互联网的情况下离线工作(使用 jfrog artifactory)。
有没有其他电子包可以在没有互联网的情况下做同样的事情? (制作一个exe)
问题是electron-packager去github.com下载electron.js。
正如@Alexander Leithner 所说,使用 electronZipDir 选项。 (以及 Discord 电子通道中的 malept)
解决方法很简单,当你执行:
npm install electron
Electron 二进制文件的 zip 文件缓存在您的计算机中。
electron-packager 的命令如下所示:
npm install -D electron-packager
npx electron-packager . -- platform=win32 --electronZipDir=C:/Users/baruc/AppData/Local/electron/Cache/**some long string**
就这些
编辑 25/7/2021 理论上,electron-packager 有一个名为“download”的选项,您可以将“cacheRoot”或“mirrorOptions”传递给他以下载 electron.zip 文件。 默认情况下你不需要更改 cacheRoot,但不幸的是,下载的两个选项都不适合我。
顺便说一句,mirrorOptions 得到的是一个对象,而不是一个字符串。所以不清楚如何从命令行传递对象。
我看到在@electron/get 库的文件 artifact-utils.js 中,在名为“mirrorVar”的函数中它搜索了一个特殊的环境变量或我之前告诉过的 mirrorOptions .如果此函数找不到它们,它将采用默认值 github.
有神器时的解决方法:
在您的项目中创建一个 .npmrc 文件并在其中写入: ELECTRON_MIRROR="http://我的镜像site/electron/" 请注意它以反斜杠结尾。
转到 package.json 文件,然后在脚本中写入: "pac": "electron-packager -- . --platform=win32"
3.execute它:npm 运行 pac