【问题标题】:Yarn throws an error while trying to build electron appYarn 在尝试构建电子应用程序时抛出错误
【发布时间】:2022-07-30 06:52:36
【问题描述】:

当我尝试通过yarn create electron-app "my-app" 创建一个电子应用程序时,它会抛出一个错误提示

'C:\Users\Lincoln' is not recognized as an internal or external command,
operable program or batch file.
error Command failed.
Exit code: 1
Command: C:\Users\Lincoln Muller\AppData\Local\Yarn\bin\create-electron-app
Arguments: my-app
Directory: C:\Users\Lincoln Muller
Output:

我该怎么办?我是 Yarn 的新手,NPM 运行良好。这也只发生在 Windows 上,当我在 Monterey 或我的 Linux 笔记本电脑上使用 iMac 时,命令运行良好。

【问题讨论】:

    标签: windows electron yarnpkg electron-forge


    【解决方案1】:

    Yarn 似乎假设它可以运行程序 create-electron-app 而无需考虑文件路径中的空格。不幸的是,这不起作用,只有第一个空格之前的部分被认为是要运行的程序,因此您会收到 C:\Users\Lincoln 不是有效命令的错误消息。

    this Yarn issue 中讨论了该问题。变通方法的关键思想是接受 Yarn 的行为并为其提供不包含空格的文件路径。有两个具体的想法:

    选项 A - 使用目录名称缩写跳过空格
    yarn config set cache-folder "C:\Users\Lincol~1\AppData\Local\Yarn\Cache"
    yarn config set prefix "C:\Users\Lincol~1\AppData\Local\Yarn"
    

    为此,请确保从实际目录名称中提取 6 个字符,然后附加 ~1。如果空格恰好出现在前 6 个字符内,则此方法不适合您。

    选项 B - 创建另一个用户文件夹,跳过空格(使用连接)
    mklink /J "C:\Users\Lincoln-Muller" "C:\Users\Lincoln Muller"
    yarn config set cache-folder "C:\Users\Lincoln-Muller\AppData\Local\Yarn\Cache"
    yarn config set prefix "C:\Users\Lincoln-Muller\AppData\Local\Yarn"
    

    联结允许两个目录名指向同一个文件系统结构。这意味着有两种方法可以寻址同一个目录。它们的内容不能不同,因为它们是同一个目录。

    【讨论】:

      【解决方案2】:

      问题是您的目录名称中有一个空格,而您没有正确转义它。

      C:\Users\Lincoln Muller
      

      这看起来你正试图将参数Muller 传递给程序C:\Users\Lincoln

      我建议只使用不包含空格或转义 [空格字符] 的文件夹。

      https://www.howtogeek.com/694949/how-to-escape-spaces-in-file-paths-on-the-windows-command-line/

      在 Windows 上转义空格的三种方法有三种不同的方法 您可以在 Windows 上转义文件路径:

      通过将路径(或路径的一部分)括在双引号 ( ” )。

      通过在每个空格前添加一个脱字符 (^)。 (仅此 在命令提示符/CMD 中工作,它似乎并不适用于所有 命令。)

      通过在每个空格前添加重音符号 (`)。 (这只适用于 PowerShell,但它始终有效。)

      【讨论】:

      • 感谢您的确认。由于纱线本身是通过自动化过程运行命令的,所以没有任何方法可以改变它,对吧?如果是这样,唯一的解决方案是将我的用户文件夹缩短为“林肯”
      • 更改您的用户文件夹,或将 YARN 安装在不同的文件夹中。或者尝试一个路口:docs.microsoft.com/en-us/sysinternals/downloads/junction
      猜你喜欢
      • 2019-04-02
      • 2020-11-02
      • 2023-03-04
      • 1970-01-01
      • 2015-07-15
      • 1970-01-01
      • 2013-09-01
      • 2016-12-21
      • 2017-07-18
      相关资源
      最近更新 更多