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 패키지 설치 스크립트가 원격 서버에서 필요한 파일을 찾지 못할 때 발생합니다. 이는 지정된 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 프로젝트 설정을 계속할 수 있습니다.

관련 글

AWS CodeCommit: GitHub 대용량 파일 저장소 (Git LFS) 무료 대안

AWS CodeCommit는 GitHub의 Large File Storage(Git LFS) 서비스에 대한 강력한 대안을 제공하여 Git 리포지토리에서 대용량 파일을 효율적으로 관리할 수 있는 솔루션을 제공합니다. Git LFS 사용을 재고해야 하는 이유 Git LFS는 Git 리포지토리에서 대용량 파일을 처리하는 데 인기 있는 선택이지만, 몇

더 읽기

macOS에서 Markdown을 학술 논문 스타일의 PDF로 빠르게 변환하기

이 가이드에서는 macOS에서 Pandoc과 BasicTeX을 사용하여 Markdown 문서를 학술 논문 스타일의 PDF로 변환하는 방법을 안내합니다. 이 방법은 빠르고 간단하여 학술 논문용 PDF 파일을 전문적으로 만들 때 유용합니다. 1단계: Pandoc 및 BasicTeX 설치 먼저, macOS 시스템에 Pandoc과 BasicTeX을 설

더 읽기

Git의 현재 커밋 ID 가져오기 및 package.json에 업데이트

Node.js 프로젝트를 개발할 때 Git 저장소의 현재 커밋 ID를 추적하고 싶을 수 있습니다. 이 정보는 디버깅, 버전 관리 또는 배포 목적으로 유용할 수 있습니다. 이를 달성하는 한 가지 방법은 빌드 과정에서 현재 커밋 ID를 package.json 파일에 업데이트하는 것입니다. 이 글에서는 Node.js를 사용하여 현재 Git 커밋 ID를 가져

더 읽기

GitHub LFS(대용량 파일 저장소) 저장소를 AWS CodeCommit로 마이그레이션

최근 Git Large File Storage(LFS)를 사용하는 GitHub 저장소를 AWS CodeCommit으로 이전했습니다. 비슷한 작업을 계획 중이라면 제 경험을 바탕으로 한 과정을 공유하려고 합니다. 다음은 단계별 가이드입니다. 사전 준비 시작하기 전에 다음 도구들이 설치되어 있는지 확인하세요:Git Git LFS AWS

더 읽기

모든 Git 하위 디렉토리 재설정/복원

Git 저장소를 효과적으로 관리하려면 서브디렉터리를 재설정하거나 복원하여 깨끗하고 기능적인 코드베이스를 유지해야 합니다. 이 가이드는 Git 저장소에서 모든 서브디렉터리를 재설정하거나 복원하는 간결한 단계별 접근 방식을 제공합니다. 서브디렉터리 재설정 다음 Git 명령어는 저장소에서 추적되지 않은 모든 파일과 디렉터리를 제거합니다. 이는 재설정

더 읽기