我使用yarn分隔符来分隔我的电子应用程序的代码。我有3个分隔符:
- server -在主线程中运行serialport服务器
- gui -浏览器代码
- app -定义电子app的配置
app
工作区从gui
和server
工作区导入代码。这在尝试打包代码时给我带来了各种麻烦。
最初,该应用程序正在打包,但丢失了我所有的node_modules(例如抱怨它找不到“electron-squirrel-startup”)。我读到我可以禁用提升,以便node_modules文件夹将包括它需要的所有模块。
"nohoist": ["**"]
字符串
由于我的应用程序导入到不同的项目之间,yarn创建了一个指向这些项目的符号链接。似乎electron builder不喜欢这样,并且不遵循符号链接,而是直接复制符号链接本身:
An unhandled rejection has occurred inside Forge:
Error: EPERM: operation not permitted, symlink 'C:\Users\joeja\projects\roguegeo\packages\server' -> 'C:\Users\joeja\AppData\Local\Temp\electron-packager\win32-x64\RogueGeo App-win32-x64-TeyVhU\resources\app\node_modules\@rg\server'
型
我已经在这一整天了,从NPM博客切换到Yarn。它只是一个又一个问题,我在我的智慧结束了这一点。
在开发中运行我的应用程序工作正常,它只是试图打包它,这给我带来了问题。
我在某个地方读到过,我可以添加一个afterCopy钩子来运行“yarn install --production”,但我还没有能够让它工作。我也不认为它会解决我目前的问题,因为这也将只是使用一个符号链接来本地安装?
我如何使用yarn并构建一个电子锻造应用程序?
1条答案
按热度按时间k4ymrczo1#
在我的终端上仍然看到一些其他错误,但能够绕过符号链接错误,并通过在
forge.config.ts
中执行以下操作来获得包进程的输出:字符串