Search code examples
nw.jsnode-sqlite3

How can I build and run the byteball desktop app?


I know we should run the byteball app with nw.js framework for desktop. So I did like below. 1. git clone 2. bower install 3. npm install 4. grunt

After these, I started the app with nwjs . on MacOS. At this moment, it says:

module.js:365
    throw err;
    ^
Error: Cannot find module 

'/Users/dev/Documents/work/byteball/byteball/node_modules/byteballcore/node_modules/sqlite3/lib/binding/node-webkit-v0.14.7-darwin-x64/node_sqlite3.node'
at Function.Module._resolveFilename (module.js:363:15)
at Function.Module._load (module.js:309:25)
at Module.require (module.js:391:17)
at require (internal/module.js:20:19)
at Object.<anonymous>

  (/Users/dev/Documents/work/byteball/byteball/node_modules/byteballcore/node_modules/sqlite3/lib/sqlite3.js:4:15)
at Module._compile (module.js:437:34)
at Object.Module._extensions..js (module.js:452:10)
at Module.load (module.js:381:32)
at Function.Module._load (module.js:338:12)
at Module.require (module.js:391:17)

For these bug, there is solution on byteball repository like https://github.com/byteball/byteball

So I found the node-v47-darwin-x64 directory, but I didn't find it. For now, I can start the byteball desktop app but can't enter to main screen because it is stopped when I click the continue button and can't debug this. How can I run this app in desktop?


Solution

  • Here is what I do on linux:

    cp -ir node_modules/sqlite3/lib/binding/node-v*-linux-x64 node_modules/sqlite3/lib/binding/node-webkit-v$NW_VERSION-linux-x64
    

    You have to create a copy with the NW version you are using. The byteball README says copy as node-webkit-v0.14.7-darwin-x64 but that assumes you have NW 0.14.7 installed.

    If you want to debug the app, you will need the SDK version of NW.js: https://dl.nwjs.io/v0.14.7/nwjs-sdk-v0.14.7-osx-x64.zip