Electron-Vue 그리고 sqlite3
Electron - Vue 를 사용하여 데스크탑 어플리케이션을 제작하고 있다.
db 관련 작업이 필요하여 sqlite3을 사용하기로 하였고, 아무런 생각없이
yarn add sqlite3 으로 설치하였다.
설치에는 큰 어려움이 없었지만 윈도우에서 빌드하는 과정에서 알수 없는 아래와 같은 오류가 발생한다.
당연히 구글신에게 도움을 요청했으며 여러가지 방법을 찾을 수 있었다.
1. sqlite3을 빌드할 때에 vc++ build tools 2015이 설치되어야 한다.
설치 후 npm set msvs_version=2015 라고 환경설정을 바꿔 줘야 한다.
2. python2.7 버전이 설치되어야 한다. (3.x.x 는 안됨)
설치 후 윈도우 시스템정보의 환경변수에 등록해야 하며
npm set python=python27라고 환경설정을 변경해야 한다.
3. 그 외에 여러가지 방법으로 sqlite3 를 직접 빌드하는 방법
설치시 소스로부터 직접 설치하는 방법 등이 있다.. (저는 다 실패..)
위의 여러가지 방법을 설정한 뒤에 yarn run build 를 실행하였으나 동일하거나 다른 오류들이 발생하였고, 좌절하였다..
다시 구글신에게 도움을 요청했고, 어떤 개발자가 electron 의 버전을 낮춰서 빌드했다는 글을 보게 됬었다.
현재 프로젝의 electron 버전은 4.0.8 인데 2.0.4 로 변경하고 다시 빌드를 진행하니 아무런 오류 없이
빌드가 되는것이 아닌가!!! 이런 쒰~!~!~
electron 버전을 낮춰서 빌드는 성공하였지만.. 뭔가 찝찝하다.. 찝찝함을 말로 표현할 수 없다..
다시 검색을 하게 되고 electron-webpack-quickstart (https://github.com/electron-userland/electron-webpack-quick-start.git) 이라는 저장소를 찾았고 내려 받아 설치를 진행하였다.
이 프로젝트는 electron의 버전이 4.x.x 이었으며 sqlite3을 설치 후 빌드를 진행하였지만 오류가 발생하지 않았다.
차이점이라고 한다면 electron-webpack이라는 것을 사용하여 컴파일을 진행하고 있었다.
그렇다고 기존 프로젝트를 위의 프로젝트로 대체하기에는 너무 무리가 있었다..
한참을 시도하다가 포기를 하고 그냥 electron 버전을 낮추고 진행하려고 했다.
현재 개발 환경은 mac, elementary OS, windows 10 (parallels desktop 14), windows 10 인데 마지막으로 한번만 해보자는 심정으로 windows 10 만 사용하고 있는 데스크탑에 소스를 받아서 node_modules 폴더를 삭제한 후에 이번에는 npm을 사용해서 빌드를 진행하였다. 동일한 오류가 날 것으로 생각하고 기대를 하지 않았지만.. 헐.. 이게 무슨 일인가.. 빌드가 성공하였다.... OTL....
뭔가 문제일까 도대체..? 같은 windows 10 에서 빌드가 다를까... 이번에는 yarn 으로 빌드를 해본다.
이것도 된...다...
이 둘의 차이점은 무엇일까..? 한참을 고민하고 찾다가 문득 오류가 발생한 로그의 처음 부분이 생각이 났다. python 이 어쩌고 저쩌고.. msbuild 에서 뭔가 오류가 났다는 것이다.
물론 둘다 python 과 vc++ build tools가 설치되어 있다. 그렇다면...?
npm config list 로 npm 의 설정을 확인해 보았다.
빌드를 성공한 pc에서는 python과 msvs_version 설정이 되어 있지 않았다.
패럴러즈에 설치한 윈도우 10의 npm 환경설정에서 python, msvs_vsersion 설정을 삭제하고
다시 빌드를 해보았다..
npm config delete python
npm config delete msvs_version
유레카~!~! 성공이다..
이유는 정확히 모르겠으나 sqlite3을 빌드하기 위해서는
1. vc++ build tools 2015 설치 후 그냥 빌드하면 된다.
(일단은 나만의 해결방법이다.. 다른 방법도 있겠지만...)
댓글
댓글 쓰기