인디노트
macOS 에서 electron npm run pack 할 때 에러 처리 본문
우선 macOS 에 /usr/bin/python3 가 설치되어 있는 경우
electron 의 서드파티가 아직 python2 를 기준으로 작성된 경우 pack 할 때 에러가 좀 생긴다.
우선 다음의 파일에서
node_modules/dmg-builder/out/dmg.js
/usr/bin/python 를 찾아서 /usr/bin/python3 로 바꿔줘야 진행 할 수 있다.
또한, node_modules/dmg-builder/vendor/dmgbuild/core.py
라는 파일에서
from importlib import reload
를 추가해 줘야 한다.
import sys 바로 아래 줄에 추가 해 주면 된다.
또한, reload(sys) 및 sys.setdefaultencoding('UTF8') 은 python3 는 기본이 UTF8 이고 setdefaultencoding 이 존재하지 않기 때문에 앞쪽에 if 문을 추가해주고 해당 2개의 명령이 파이썬 버전 2 일 경우에만 동작 하도록 수정해 준다.
import os
import re
import sys
from importlib import reload
if sys.version[0] == '2':
reload(sys) # Reload is a hack
sys.setdefaultencoding('UTF8')
이제 다음과 같이 pack 이 잘 동작 된다.
kgy@GYUYOUNGs-MacBook-Pro electron-quick-start % npm run pack
> electron-quick-start@1.0.0 pack
> electron-builder
• electron-builder version=22.10.3 os=22.2.0
• writing effective config file=dist/builder-effective-config.yaml
• packaging platform=darwin arch=x64 electron=22.0.1 appOutDir=dist/mac
• default Electron icon is used reason=application icon is not set
• signing file=dist/mac/electron-quick-start.app identityName=Developer ID Application: SMARTDISK ORG (5BM5KUC7PW) identityHash=E2F92101298C82D1995A8525F50208965C31F13C provisioningProfile=none
• building target=macOS zip arch=x64 file=dist/electron-quick-start-1.0.0-mac.zip
• building target=DMG arch=x64 file=dist/electron-quick-start-1.0.0.dmg
• building block map blockMapFile=dist/electron-quick-start-1.0.0.dmg.blockmap
• building embedded block map file=dist/electron-quick-start-1.0.0-mac.zip
반응형
'개발 플랫폼 및 언어 > 일렉트론 Electron (JS)' 카테고리의 다른 글
electron-builder 의 code sign 에러 (0) | 2020.12.19 |
---|
Comments