나는 electron-webpack
상용구에서 시작하는 전자 응용 프로그램을 구축 중입니다.전자 응용 프로그램에서 ffmpeg을 묶을 수있는 방법
이 노드 모듈 @ffmpeg-installer/ffmpeg
은 /node_modules
디렉토리에 호환 가능한 사전 컴파일 된 바이너리를 설치 한 다음 해당 실행 파일의 경로를 통해 액세스 할 수있게합니다.
const ffmpegPath = require('@ffmpeg-installer/ffmpeg').path
이 개발하는 동안 잘 작동하지만 난 배포를 구축하고 실행할 때 경로로 자식 프로세스를 생성 할 때 오류가 생긴다. 아마도 경로는 바이너리를 가리 키지 않기 때문입니다.
배포 가능 패키지를 실행할 때 경로가 다음과 같이 설정됩니다. AppName.app
패키지 내용에서 볼 때
/Users/me/project/dist/mac/AppName.app/Contents/Resources/app.asar/node_modules/@ffmpeg-installer/darwin-x64/ffmpeg
그러나, 나는 다음과 같은 경로에있는 바이너리를 찾을 수 있습니다.
/Users/me/project/dist/mac/AppName.app/Contents/Resources/app.asar.unpacked/node_modules/@ffmpeg-installer/darwin-x64/ffmpeg
어떻게 electron-webpack
및 electron-builder
를 사용하여 전자 응용 프로그램에서 이진 종속 관계를 포함해야합니까?
이 작동하지만 ASAR이 작동하지 않는 이유를 알고 싶습니다. 기본 'asarUnpack'옵션 때문입니까? –
'as asar 아카이브를 사용한 패키징을 사용할 수 없습니다. 강력하게 권장하지 않습니다. 외부에서 사용할 수 있어야하는 파일을 압축 해제하려면 asarUnpack을 사용하고 asarUnpack을 사용하십시오. ' –
@JoshuaBarnett'asarUnpack'/'smartUnpack' 옵션이 새로운 것 같습니다. 만약 당신이 그것을 작동 시키면, 이것은 더 나은 선택처럼 보입니다 - 저는'asar : false'를 사용하기를 꺼 렸습니다. –