본문 바로가기

React

이슈 3 electron + sqlite3 "Cannot find module 'node_modules/...'"

반응형
Cannot find module 'node_modules/sqlite3/lib/binding/electron-v5.0-darwin-x64/node_sqlite3.node'
Require stack:
node_modules/sqlite3/lib/sqlite3.js
node_modules/knex/lib/dialects/sqlite3/index.js

yarn add sqlite3을 통해 sqlite3을 설치했는데 위와 같은 오류가 뜨며 해당 버전을 찾을 수 없다고 한다... Failed to Compile.... node module의 경우 electron용 build가 따로 있는데, target이 electron인지 인식하지 못하고 일반적인 package를 사용하려 하니 에러가 나는 상황이다.

이런 때를 대비해 electron-webpack-quick-start는 electron-builder를 포함하고 있다. 없다면 yarn add electron-builder를 통해 다운로드 하자.

 

yarn add electron-builder

 

electron-builder를 패키지에 추가했으면,

npx electron-builder install-app-deps

 

 

명령을 실행하면 sqlite3을 rebuild하고 프로젝트가 정상 실행된다.

깨지는 경우가 몇 번 생기고 나니 아예 package.json에 명령어를 추가했다.

{
    ...,
    "scripts": {
        "dev": "electron-webpack dev",
        "compile": "electron-webpack",
        "dist": "yarn compile && electron-builder",
        "dist:dir": "yarn dist --dir -c.compression=store -c.mac.identity=null",
        "rebuild": "npx electron-builder install-app-deps" // 요기 추가
    },
    ...
}

 

이렇게 하면
yarn rebuild를 통해 같은 효과를 낼 수 있다.

 

반응형