본문 바로가기

ELECTRON

맥(MacOS)에서 globstar 패턴 인식 안 될때!!!

반응형

ELECTRON으로 프로그램 만들고 동작 확인할 때

운영체제마다 약간의 차이로 코드가 안 돌아갈 때가 있습니다.

 

이번에 부딪힌 문제는 npm으로 파일 복사 스크립트를 실행할 때

globstar 패턴인식에 문제가 있었습니다.

 

예를 들어 아래와 같은 npm 스크립트가 있다면,

 

copyFiles scr/assets/**/*

 

윈도 10에서는 scr/assets/ 하위에 있는 폴더와 파일을 다 불러올 수 있는데

맥에서는 안 되더군요.

 

한동안 테스트 끝에 스크립트의 문제가 아니라 

각 종 설정의 문제란 걸 알게 되었습니다.

 

 

1. bash 버전 문제

 

현재 bash 버전이 너무 낮아 globstar 패턴을 제대로 인식하지 못했습니다.

터미널에서 아래 명령 실행에 실패하면 bash 업데이트를 해야 합니다.

 

shopt -s globstar

 

 

2. npm 설정의 문제.

 

bash 업데이트를 하고 npm 스크립트를 수정했는데 에러가 발생했습니다.

 

shopt -s globstar && copyFiles src/assets/**/*

 

globstar 옵션을 여전히 인식을 못하더군요.

다시 구글에서 검색 끝에 npm 설정에 npm이 사용할 shell을 지정하는 부분을 알아냈습니다.

이걸 설정 안 하면 기본 쉘이 사용되는 것 같습니다.

 

npm config set script-shell bash

 

script-shell 설정에 bash을 지정해 줍니다.

그리고, 파일 복사 스크립트를 실행하니 잘 돌아갑니다.

 

 

반응형