본문으로 건너뛰기

고급 설치 안내서

미리 빌드된 일렉트론 이진을 설치하려면 npm을 사용하세요. 선호되는 방법은 일렉트론을 앱의 개발 종속성으로 설치하는 것입니다.

sh
npm install electron --save-dev
sh
npm install electron --save-dev

앱에서 일렉트론의 버전을 관리하는 방법에 대한 자세한 내용은 일렉트론 버전 관리 문서를 참고하세요.

임시로 일렉트론 실행하기​

상황이 급하여 로컬 프로젝트에서 npm install을 사용하지 않으려면, npm과 함께 번들로 제공되는 npx 명령 실행기를 사용하여 일렉트론을 임시로 실행할 수 있습니다.

sh
npx electron .
sh
npx electron .

이 명령은 일렉트론으로 현재 작업 디렉터리를 실행합니다. 앱의 종속성은 설치되지 않습니다.

사용자 정의하기​

다운로드되는 아키텍처(예: x64 시스템의 ia32)를 변경하려면, npm install에 --arch 플래그를 사용하거나 npm_config_arch 환경 변수를 설정할 수 있습니다.

shell
npm install --arch=ia32 electron
shell
npm install --arch=ia32 electron

아키텍처를 변경하는 것 외에도 --platform 플래그를 사용하여 플랫폼(예: win32, linux 등)을 지정할 수도 있습니다.

shell
npm install --platform=win32 electron
shell
npm install --platform=win32 electron

프록시​

HTTP 프록시를 사용해야 하는 경우, ELECTRON_GET_USE_PROXY 변수를 임의의 값으로 설정하고 호스트 시스템의 노드 버전에 따라 추가 환경 변수를 설정해야 합니다.

커스텀 미러와 캐시​

설치 과정에서 electron 모듈은 @electron/get을 호출하여 플랫폼용으로 사전 빌드된 일렉트론 이진을 다운로드합니다. 모듈은 깃허브의 릴리스 다운로드 페이지(https://github.com/electron/electron/releases/tag/v$VERSION, 여기서 $VERSION는 일렉트론의 정확한 버전)를 연결합니다.

깃허브에 접근할 수 없거나 커스텀 빌드를 제공해야 한다면, 미러나 기존 캐시 디렉터리를 제공하여 이를 수행할 수 있습니다.

미러​

환경 변수를 사용하여 기본 URL, 일렉트론 이진을 찾을 경로, 이진 파일 이름을 재정의할 수 있습니다. @electron/get에서 사용하는 URL은 다음과 같이 구성됩니다.

javascript
url = ELECTRON_MIRROR + ELECTRON_CUSTOM_DIR + '/' + ELECTRON_CUSTOM_FILENAME
javascript
url = ELECTRON_MIRROR + ELECTRON_CUSTOM_DIR + '/' + ELECTRON_CUSTOM_FILENAME

다음은 중국 CDN 미러를 사용하는 예시입니다.

shell
ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/"
shell
ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/"

기본적으로 ELECTRON_CUSTOM_DIR은 v$VERSION으로 설정됩니다. 형식을 변경하려면 {{ version }} 자리 표시자를 사용하세요. 예를 들어 version-{{ version }}은 version-5.0.0으로 이행되고, {{ version }}은 5.0.0으로 이행되며, v{{ version }}은 기본값과 동일합니다.

다음은 중국 비CDN 미러를 사용하는 구체적인 예시입니다.

shell
ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/"
ELECTRON_CUSTOM_DIR="{{ version }}"
shell
ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/"
ELECTRON_CUSTOM_DIR="{{ version }}"

위 구성은 https://npmmirror.com/mirrors/electron/8.0.0/electron-v8.0.0-linux-x64.zip과 같은 URL에서 다운로드됩니다.

미러가 공식 일렉트론 릴리스와 다른 체크섬을 가진 아티팩트를 제공하는 경우, 일렉트론이 내장 체크섬 대신 원격 SHASUMS256.txt 파일을 사용하여 체크섬을 확인하도록 electron_use_remote_checksums=1을 설정해야 할 수 있습니다.

캐시​

또는 로컬 캐시를 재정의할 수 있습니다. @electron/get은 다운로드한 이진을 로컬 디렉토리에 캐시하여 네트워크에 부담을 주지 않습니다. 이 캐시 폴더를 사용하여 일렉트론의 커스텀 빌드를 제공하거나 네트워크와 전혀 연결되지 않게 할 수 있습니다.

  • 리눅스 - $XDG_CACHE_HOME or ~/.cache/electron/
  • 맥OS - ~/Library/Caches/electron/
  • 윈도우 - $LOCALAPPDATA/electron/Cache or ~/AppData/Local/electron/Cache/

이전 버전의 일렉트론을 사용하는 환경에서는 ~/.electron에서도 캐시를 찾을 수 있습니다.

electron_config_cache 환경 변수를 제공하여 로컬 캐시의 위치를 재정의할 수도 있습니다.

캐시에는 버전의 공식 zip 파일과 체크섬이 포함되어 있으며 [checksum]/[filename]으로 저장됩니다. 일반적인 캐시의 모습은 다음과 같습니다.

sh
├── a91b089b5dc5b1279966511344b805ec84869b6cd60af44f800b363bba25b915
│ └── electron-v15.3.1-darwin-x64.zip
sh
├── a91b089b5dc5b1279966511344b805ec84869b6cd60af44f800b363bba25b915
│ └── electron-v15.3.1-darwin-x64.zip

이진 다운로드 건너뛰기​

내부적으로 일렉트론의 자바스크립트 API는 구현이 포함된 이진에 바인딩됩니다. 이 이진은 일렉트론 앱의 함수에 중요하기 때문에, npm 레지스트리에서 electron을 설치할 때마다 postinstall 단계에서 기본적으로 다운로드됩니다.

그러나 프로젝트의 종속성을 설치하고 싶지만 일렉트론 기능을 사용할 필요가 없다면, ELECTRON_SKIP_BINARY_DOWNLOAD 환경 변수를 설정하여 이진이 다운로드되지 않게 할 수 있습니다. 예를 들어 이 기능은 electron 모듈을 모조하는 단위 테스트를 실행할 때 지속적인 통합 환경에서 유용할 수 있습니다.

sh
ELECTRON_SKIP_BINARY_DOWNLOAD=1 npm install
sh
ELECTRON_SKIP_BINARY_DOWNLOAD=1 npm install

문제 해결​

npm install electron을 실행할 때 일부 사용자에게 설치 오류가 발생할 수 있습니다.

대부분 이러한 오류는 electron npm 패키지의 문제가 아니라 네트워크 문제의 결과입니다. ELIFECYCLE, EAI_AGAIN, ECONNRESET, ETIMEDOUT과 같은 오류는 모두 네트워크 문제를 나타냅니다. 가장 좋은 해결 방법은 네트워크를 전환하거나 잠시 기다렸다가 다시 설치하는 것입니다.

npm을 통한 설치가 실패할 경우, electron/electron/releases에서 직접 일렉트론을 다운로드할 수 있습니다.

EACCESS 오류와 함께 설치에 실패하면 npm의 권한을 수정해야 할 수 있습니다.

위의 오류가 지속되면 unsafe-perm 플래그를 true로 설정해야 할 수 있습니다.

sh
sudo npm install electron --unsafe-perm=true
sh
sudo npm install electron --unsafe-perm=true

느린 네트워크에서는 다운로드 진행률을 표시하기 위해 --verbose 플래그를 사용하는 것이 좋습니다.

sh
npm install --verbose electron
sh
npm install --verbose electron

자산과 SHASUM 파일을 강제로 다시 다운로드해야 하는 경우, force_no_cache 환경 변수를 true로 설정합니다.