Type something to search...

Electron 构建工具 ERROR Error: Failed to run "choco install pywin32 --yes"

当使用 Electron Build Tools 时,您可能会遇到通过 Chocolatey 安装 pywin32 相关的错误。这可能会令人沮丧,特别是当它是您项目所需的依赖项时。以下是问题的详细解释和可能的解决步骤。

错误

在使用 Electron Build Tools 初始化一个 Electron 项目时,您可能会看到以下错误信息:

E:\\>e init main-testing -i testing --root=e:/src/electron
WARN A fixable error has occurred
--> A required dependency "pywin32" could not be located, it probably has to be installed.
Do you want build-tools to try fix this for you? [y/n]: y

Running "choco install pywin32 --yes"
ERROR Error: Failed to run "choco install pywin32 --yes"
    at spawnSyncWithLog (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\deps-check.js:11:11)
    at fix (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\deps-check.js:39:9)
    at maybeAutoFix (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\maybe-auto-fix.js:13:3)
    at whichAndFix (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\which.js:10:5)
    at checkPlatformDependencies (C:\\Users\\zeeis\\.electron_build_tools\\src\\utils\\deps-check.js:61:7)
    at Object.<anonymous> (C:\\Users\\zeeis\\.electron_build_tools\\src\\e-init.js:165:3)
    at Module._compile (internal/modules/cjs/loader.js:1072:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)
    at Module.load (internal/modules/cjs/loader.js:937:32)
    at Function.Module._load (internal/modules/cjs/loader.js:778:12)

此错误通常是由于 pywin32 包的安装脚本无法在远程服务器上找到所需的文件。这会导致 404 错误,表示在指定的 URL 上找不到文件。

理解错误

错误信息的关键部分是:

ERROR: The remote file either doesn't exist, is unauthorized, or is forbidden for url 'http://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/pywin32-219.win-amd64-py3.9.exe/download'. Exception calling "GetResponse" with "0" argument(s): "The remote server returned an error: (404) Not Found."

这表明 pywin32 的下载 URL 不再有效,这意味着 Chocolatey 无法检索到必要的安装文件。

### 排查步骤

以下是一些解决该问题的步骤:

#### 1. 验证 Chocolatey 安装

确保 Chocolatey 已正确安装并更新至最新版本。您可以使用以下命令检查 Chocolatey 版本:

```bash
choco --version

要更新 Chocolatey,请使用:

choco upgrade chocolatey

2. 手动安装 pywin32

由于自动安装失败,尝试手动安装 pywin32。您可以从官方 pywin32 GitHub 发布页面下载相应版本并手动安装。

3. 修改安装脚本

如果您可以控制 Electron Build Tools 脚本,您可以修改它以指向 pywin32 的有效 URL 或处理手动安装过程。

4. 使用替代的包管理器

如果 Chocolatey 继续失败,考虑使用其他包管理器,例如用于 Python 包的 pip:

pip install pywin32

手动安装 pywin32 示例

  1. 官方 GitHub 发布页面下载相应的 pywin32 安装程序。
  2. 运行安装程序并按照安装说明进行操作。
  3. 通过运行一个导入 pywin32 的简单 Python 脚本来验证安装:
import win32api
print(win32api.GetVersionEx())

遇到“Failed to run choco install pywin32 --yes”错误可能会成为您开发过程中的一个障碍。然而,通过了解根本原因并按照上述步骤操作,您可以克服此问题,继续进行 Electron 项目设置。

相关文章

AWS CodeCommit:GitHub 大文件存储 (Git LFS) 的免费替代方案

AWS CodeCommit 提供了一个强大的替代方案来代替 GitHub 的大型文件存储(Git LFS)服务,为在 Git 仓库中管理大文件提供了高效的解决方案。 为什么你应该重新考虑使用 Git LFS 虽然 Git LFS 是处理 Git 仓库中大文件的热门选择,但它有其局限性和挑战。Git LFS 需要额外的设置和管理,这可能会使开发工作流程变得复杂。此外,与 Git LFS

阅读更多

在 macOS 上快速将 Markdown 转换为学术风格的 PDF 论文

在本指南中,我将向您展示如何使用 Pandoc 和 BasicTeX 在 macOS 上将 Markdown 文档转换为学术风格的 PDF 论文。这种方法快速且简单,非常适合需要创建专业外观的学术论文 PDF 文件时使用。 第一步:安装 Pandoc 和 BasicTeX 首先,您需要在 macOS 系统上安装 Pandoc 和 BasicTeX。以下是我的安装步骤:**安

阅读更多

获取当前Git提交ID并更新到package.json

在开发 Node.js 项目时,您可能希望跟踪 Git 仓库的当前提交 ID。此信息对于调试、版本控制或部署目的可能很有用。实现这一目标的一种方法是在构建过程中将当前提交 ID 更新到 package.json 文件中。本文将指导您完成获取 Git 当前提交 ID 并使用 Node.js 将其更新到 package.json 文件的步骤。 "predev": "node

阅读更多

将 GitHub LFS(Git 大文件存储)存储库迁移到 AWS CodeCommit

我最近将一个使用 Git Large File Storage (LFS) 的 GitHub 仓库迁移到了 AWS CodeCommit。我想分享这个过程,以防你也有类似的需求。以下是根据我的经验制作的逐步指南。 先决条件 在开始之前,请确保你已经安装了以下工具:Git Git LFS AWS CLI逐步指南 1. 克隆仓库 首先,使用 `--mi

阅读更多

重置/恢复 Git 的所有子目录

有效管理Git代码库通常需要重置或恢复子目录,以保持代码库的整洁和功能正常。本指南提供了一个简明的分步方法,用于重置或恢复Git代码库中的所有子目录。 重置子目录 以下Git命令会从代码库中移除所有未跟踪的文件和目录。这在执行重置或恢复之前清理不必要的文件时非常有用。 git clean -xfdf -- .命令分解:-x:移除所有未跟

阅读更多