Tan Shuai

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 패키지 설치 스크립트가 원격 서버에서 필요한 파일을 찾지 못할 때 발생합니다. 이는 지정된 URL에 파일이 없음을 나타내는 404 오류로 이어집니다.

오류 이해하기

오류 메시지의 핵심 부분은 다음과 같습니다:

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 버전을 확인하려면 다음을 사용하십시오:

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 프로젝트 설정을 계속할 수 있습니다.