electron-builder EBUSY: resource busy or locked 오류 발생

electron-builder 를 통해 패키징을 하던 도중 계속 EBUSY: resource busy or locked 오류가 발생 했다. 아무리 구글링 해도 ChatGPT 도 바로 해결 방법을 알려주지 못했다. 그래서 이것저것 시도 한 해결 과정과 해결 방법을 정리했다.

오류 내용:

@colors\colors 모듈 재설치

오류가 발생하고 있는 경로는 @colors 모듈 경로를 가리키고 있어 재 설치를 해보았다.

npm remove @color
npm install @color
Node.js

하지만 소용이 없었다. 이상했다. 아예 폴더 채 삭제하고 다시 설치 하는데 어떻게 오류가 발생하는 걸까?

“asar”: true 옵션 사용

asar 는 Atom Shell Archive 의 약자로 Electron 앱의 리소스 들이 패키징 되는 파일 포맷이다. 반디집이 설치 된 윈도우 PC 에선 압축 파일로 표시 되던데 안에 보면 내가 작성한 코드와 모듈들이 asar 확장자 파일 안에 들어있다.

이 옵션을 사용하면 위의 에러가 해결 되면서 앱이 패키징 되었지만, 아쉽게도 해당 파일은 ‘읽기 전용’ 이라 수정/저장 등의 작업이 이루어 질 경우 정상적으로 앱이 동작하지 않을 수 있다. 그래서 해당 옵션을 사용하지 않고 전부 풀어진 상태로 제작하고 싶다.

electron-builder 다운그레이드 – ⭐

이전에는 이런 이슈가 발생하지 않고 새로운 프로젝트에서 발생 했으니 마지막으로 의심 했던 부분이다. 먼저 현재 설치 된 모듈의 버전을 확인하고 싶으면 npm list 명령어를 사용해 볼 수 있다.

npm list electron-builder
Node.js

위의 명령어를 수행하니 내 프로젝트에 설치 된 electron-builder 버전은 25.0.0-alpha.9 였다. 뭔가 alpha 라는 것이 최근 25 버전의 최신 버전으로 업데이트 가 된 모양이다. 왠지 이 문제 같았다.

그래서 예전 버전을 설치하기 위해 위에서 사용했던 remove 명령어로 electron-builder 를 삭제 후 예전 버전으로 설치 했다. 만약, 내가 사용 하는 모듈의 모든 버전 목록을 보고 싶다면 npm info 모듈 명 versions 명령어로 확인이 가능하다.

npm info electron-builder versions
Node.js
npm info electron-builder versions 결과

출력 된 버전 중 현재 버전을 제외하고 24.13.1 버전이 최신 버전 이여서 해당 버전으로 다시 설치를 시도 했다. 특정 버전의 모듈을 설치 하려면 npm install 시 모듈 명 뒤에 @version 을 입력하면 된다.

npm install electron-builder@24.13.1
Node.js

그 후 다시 패키징을 시도하니 문제 없이 저장 되었다. 👍

GitHub 이슈 등록

GitHub 의 electron-builder 이슈 탭에 위의 오류 내용을 등록 했다. 일단 임시 방편으로 이전 버전의 electron-builder 를 사용해야겠다.

Encountering EBUSY: resource busy or locked error in electron-builder 25.0.0-alpha.9 · Issue #8250 · electron-userland/electron-builder (github.com)

electron-builder 이슈 탭
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
목차
위로 스크롤