gpt4 book ai didi

windows - Electron:在macOS和Windows之间共享同一项目文件夹

转载 作者:行者123 更新时间:2023-12-03 12:25:16 24 4
gpt4 key购买 nike

目标
我已经阅读了许多有关应用程序自举和构建管道的Electron教程,并假设您可以有一个项目来处理跨平台操作。
但是在打包和构建过程中经历了无数次失败之后,我终于意识到也许我的假设是错误的。
问题
这是我基于 Electron 伪造的理想工作流程:
1.在Windows上创建应用程序框架


yarn create electron-app my-app

cd my-app

yarn add my-dependency

yarn start

yarn make
一切顺利。现在到macOS
2.将项目转移到macOS上
在macOS上,运行该应用程序将导致错误
cd my-app

yarn start


错误看起来像这样
$ yarn start
yarn run v1.22.4
$ electron-forge start
✔ Checking your system
✔ Locating Application
✔ Preparing native dependencies: 1 / 1
✔ Launching Application
/path/to/my-app/node_modules/electron/dist/electron.exe: /path/to/my-app/node_modules/electron/dist/electron.exe: cannot execute binary file
error Command failed with exit code 126.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
所以我盲目地在macOS上重新安装了 Electron
yarn add electron

yarn start

yarn make

在macOS上一切正常。
现在回到Windows。
3.返回Windows进行仔细检查
这次。我遇到了与步骤2类似的问题。 Windows发行版现在具有错误的Electron二进制文件。
发现
我发现即使在Windows和macOS之间传输项目文件时仔细合并,该文件也经常会被覆盖。
my-app/node_modules/electron/path.txt

它包含通往Electron可执行文件的硬编码路径:
苹果系统
Electron.app/Contents/MacOS/Electron
视窗:
electron.exe
解决方法
通过根据当前平台将预定义的元数据复制到项目文件夹中,我可以为此添加预构建步骤。但是对于像Electron这样的框架,这样的破解听起来很la脚。
问题
因此,对我而言,这种元数据安排使得在Windows和macOS之间共享同一项目变得很困难。我无法想象Electron开发人员会像这样工作。
那我想念什么呢?

最佳答案

基本上,您根本不应该提交node_modules。一些安装后脚本可能会编译特定操作系统的软件包,并且该文件夹通常很大。
另外,您不应提交任何生成,打包或编译命令的结果。通常,应忽略dist文件夹。
您的存储库应仅包含代码和配置文件。
这个想法是没有必要提交这些文件和文件夹,因为您具有在所有计算机上重现结果所需的所有必需步骤:Windows计算机,macOS计算机,CI环境等。例如(这些是伪命令):

  • npm inpm ci
  • npm run build
  • electron package

  • 因此,您应该将所有这些文件夹添加到 .gitignore文件中:
    # compiled output
    /dist
    /tmp
    /out-tsc
    /packages

    # dependencies
    /node_modules

    关于windows - Electron:在macOS和Windows之间共享同一项目文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63916585/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com