Closed shannonlal closed 6 years ago
I'm marking this bug as documentation
to remind me update https://github.com/plotly/falcon-sql-client/blob/master/CONTRIBUTING.md .
The build instructions depend on whether you want build the desktop or the web app. The issue you're seeing happens because yarn run rebuild:modules:electron
builds the native modules against electron, but yarn start-headless
starts the web app.
The instructions to build and start the desktop app are:
$ yarn install
$ yarn run rebuild:modules:electron
$ yarn run build
$ yarn start
And the instructions to build and start the web app (by default listening on http://localhost:9494) are on a fresh install:
$ yarn install
$ yarn run heroku-postbuild
$ yarn run start-headless
on a install previously used to build the desktop app
$ yarn run rebuild:modules:node
$ yarn run heroku-postbuild
$ yarn run start-headless
Ok thanks for this. This looks pretty easy so if you want I will update the documentation and send in a pull request for you.
Thanks again for the response
I updated the CONTRIBUTING.md document to include your instructions and submitted a PR. I also tested the instructions on my Mac and was able to get the environment build and running. Thanks again for help it is greatly appreciated
Closed via #308
I was able to build and run Falcon SQL Client as an electron app locally with Node 6.12 following the instructions on the current CONTRIBUTING.md
just fine. However, I still see the exact messages for Error 1 and Error 2 above when running yarn build
and yarn start
. But it does build and start.
@pietersv yarn start
assumes yarn rebuild:modules:electron
has been run after yarn install
.
how do you get Error 1?
Thanks for the reply. I ran just yarn run start
. Starting clean here's the terminal log
n 6.12.3
MacBook-Pro:falcon-sql-client pieter$ yarn install
yarn install v1.6.0
[1/5] π Validating package.json...
[2/5] π Resolving packages...
[3/5] π Fetching packages...
info 7zip-bin-linux@1.1.0: The platform "darwin" is incompatible with this module.
info "7zip-bin-linux@1.1.0" is an optional dependency and failed compatibility check. Excluding it from installation.
info 7zip-bin-win@2.1.1: The platform "darwin" is incompatible with this module.
info "7zip-bin-win@2.1.1" is an optional dependency and failed compatibility check. Excluding it from installation.
[4/5] π Linking dependencies...
warning "react-chart-editor > react-rangeslider@2.2.0" has incorrect peer dependency "react@^0.14.0 || ^15.0.0".
[5/5] π Building fresh packages...
success Saved lockfile.
β¨ Done in 34.34s.
MacBook-Pro:falcon-sql-client pieter$ yarn installyarn run rebuild:modules:electron
MacBook-Pro:falcon-sql-client pieter$
MacBook-Pro:falcon-sql-client pieter$ yarn run rebuild:modules:electron
yarn run v1.6.0
$ cross-env FSEVENTS_BUILD_FROM_SOURCE=true node scripts/rebuild-modules.js --electron
>> /Users/pieter/Exp/falcon-sql-client/node_modules/.bin/electron-builder install-app-deps
electron-builder 19.46.4
Rebuilding native production dependencies for darwin:x64
Rebuilding native dependency fsevents
Rebuilding native dependency ibm_db
Rebuilding native dependency sqlite3
β¨ Done in 44.89s.
MacBook-Pro:falcon-sql-client pieter$ yarn run build
yarn run v1.6.0
$ yarn run build-main && yarn run build-renderer && yarn run build-web
$ cross-env NODE_ENV=production node -r babel-register ./node_modules/webpack/bin/webpack --config webpack.config.electron.js --profile --colors
Hash: 52c10dbbca33397c0b26
Version: webpack 3.8.1
Time: 19553ms
Asset Size Chunks Chunk Names
./backend/main.js 3.45 MB 0 [emitted] [big] main
./backend/main.js.map 94 bytes 0 [emitted] main
[7] ./backend/logger.js 1.95 kB {0} [built]
[] -> factory:7ms building:575ms dependencies:6ms = 588ms
[38] ./backend/utils/homeFiles.js 453 bytes {0} [built]
[] -> factory:8ms building:579ms dependencies:1ms = 588ms
[57] ./backend/persistent/datastores/Datastores.js 6.18 kB {0} [built]
[] -> factory:111ms building:243ms dependencies:330ms = 684ms
[82] ./backend/persistent/Connections.js 5.92 kB {0} [built]
[] -> factory:111ms building:131ms dependencies:1328ms = 1570ms
[83] ./backend/persistent/PlotlyAPI.js 6.93 kB {0} [built]
[] -> factory:111ms building:429ms dependencies:310ms = 850ms
[93] ./backend/routes.js 32.7 kB {0} [built]
[] -> factory:6ms building:470ms dependencies:668ms = 1144ms
[161] ./backend/constants.js 651 bytes {0} [built]
[] -> factory:112ms building:468ms dependencies:1ms = 581ms
[162] ./backend/utils/authUtils.js 920 bytes {0} [built]
[] -> factory:114ms building:568ms dependencies:1ms = 683ms
[163] ./backend/persistent/Queries.js 1.61 kB {0} [built]
[] -> factory:113ms building:457ms dependencies:1000ms = 1570ms
[176] ./backend/main.development.js 2.25 kB {0} [built]
factory:29ms building:186ms = 215ms
[197] ./backend/menus.js 6.27 kB {0} [built]
[] -> factory:7ms building:537ms dependencies:0ms = 544ms
[792] ./backend/plugins/authorization.js 3.64 kB {0} [built]
[] -> factory:110ms building:191ms dependencies:549ms = 850ms
[793] ./backend/persistent/QueryScheduler.js 11.9 kB {0} [built]
[] -> factory:111ms building:353ms dependencies:231ms = 695ms
[805] ./backend/certificates.js 8.21 kB {0} [built]
[] -> factory:113ms building:552ms dependencies:185ms = 850ms
[812] ./backend/init.js 986 bytes {0} [built]
[] -> factory:110ms building:151ms dependencies:1ms = 262ms
+ 800 hidden modules
WARNING in ./node_modules/encoding/lib/iconv-loader.js
9:12-34 Critical dependency: the request of a dependency is an expression
@ ./node_modules/encoding/lib/iconv-loader.js
@ ./node_modules/encoding/lib/encoding.js
@ ./node_modules/node-fetch/lib/body.js
@ ./node_modules/node-fetch/index.js
@ ./backend/routes.js
@ ./backend/main.development.js
WARNING in ./node_modules/ws/lib/BufferUtil.js
Module not found: Error: Can't resolve '../build/Release/bufferutil' in '/Users/pieter/Exp/falcon-sql-client/node_modules/ws/lib'
@ ./node_modules/ws/lib/BufferUtil.js 8:19-57
@ ./node_modules/ws/lib/Receiver.js
@ ./node_modules/ws/index.js
@ ./node_modules/thrift/lib/nodejs/lib/thrift/ws_connection.js
@ ./node_modules/thrift/lib/nodejs/lib/thrift/index.js
@ ./node_modules/node-impala/lib/node-impala.js
@ ./node_modules/node-impala/index.js
@ ./backend/persistent/datastores/impala.js
@ ./backend/persistent/datastores/Datastores.js
@ ./backend/routes.js
@ ./backend/main.development.js
WARNING in ./node_modules/ws/lib/Validation.js
Module not found: Error: Can't resolve '../build/Release/validation' in '/Users/pieter/Exp/falcon-sql-client/node_modules/ws/lib'
@ ./node_modules/ws/lib/Validation.js 8:19-57
@ ./node_modules/ws/lib/Receiver.js
@ ./node_modules/ws/index.js
@ ./node_modules/thrift/lib/nodejs/lib/thrift/ws_connection.js
@ ./node_modules/thrift/lib/nodejs/lib/thrift/index.js
@ ./node_modules/node-impala/lib/node-impala.js
@ ./node_modules/node-impala/index.js
@ ./backend/persistent/datastores/impala.js
@ ./backend/persistent/datastores/Datastores.js
@ ./backend/routes.js
@ ./backend/main.development.js
WARNING in ./node_modules/ws/lib/BufferUtil.js
Module not found: Error: Can't resolve '../build/default/bufferutil' in '/Users/pieter/Exp/falcon-sql-client/node_modules/ws/lib'
@ ./node_modules/ws/lib/BufferUtil.js 10:19-57
@ ./node_modules/ws/lib/Receiver.js
@ ./node_modules/ws/index.js
@ ./node_modules/thrift/lib/nodejs/lib/thrift/ws_connection.js
@ ./node_modules/thrift/lib/nodejs/lib/thrift/index.js
@ ./node_modules/node-impala/lib/node-impala.js
@ ./node_modules/node-impala/index.js
@ ./backend/persistent/datastores/impala.js
@ ./backend/persistent/datastores/Datastores.js
@ ./backend/routes.js
@ ./backend/main.development.js
WARNING in ./node_modules/ws/lib/Validation.js
Module not found: Error: Can't resolve '../build/default/validation' in '/Users/pieter/Exp/falcon-sql-client/node_modules/ws/lib'
@ ./node_modules/ws/lib/Validation.js 10:19-57
@ ./node_modules/ws/lib/Receiver.js
@ ./node_modules/ws/index.js
@ ./node_modules/thrift/lib/nodejs/lib/thrift/ws_connection.js
@ ./node_modules/thrift/lib/nodejs/lib/thrift/index.js
@ ./node_modules/node-impala/lib/node-impala.js
@ ./node_modules/node-impala/index.js
@ ./backend/persistent/datastores/impala.js
@ ./backend/persistent/datastores/Datastores.js
@ ./backend/routes.js
@ ./backend/main.development.js
$ cross-env NODE_ENV=production node -r babel-register ./node_modules/webpack/bin/webpack --config webpack.config.production.js --profile --colors
Hash: bcdd2204037943f94db2
Version: webpack 3.8.1
Time: 30034ms
Asset Size Chunks Chunk Names
bundle.js 13.1 MB 0 [emitted] [big] main
bundle.js.map 15.8 MB 0 [emitted] main
[23] ./app/utils/utils.js 2 kB {0} [built]
[] -> factory:25ms building:467ms = 492ms
[35] ./app/constants/constants.js 17.9 kB {0} [built]
[] -> factory:140ms building:276ms dependencies:86ms = 502ms
[56] (webpack)/buildin/module.js 495 bytes {0} [built]
[] -> factory:768ms building:30ms = 798ms
[207] ./package.json 10.8 kB {0} [built]
[] -> factory:9ms building:10ms = 19ms
[215] ./app/actions/sessions.js 11.5 kB {0} [built]
[] -> factory:333ms building:510ms dependencies:17ms = 860ms
[225] (webpack)/buildin/harmony-module.js 572 bytes {0} [built]
[] -> factory:85ms building:31ms = 116ms
[348] ./app/index.js 1.85 kB {0} [built]
factory:32ms building:146ms = 178ms
[413] ./app/store/configureStore.js 193 bytes {0} [built]
[] -> factory:24ms building:439ms = 463ms
[414] ./app/store/configureStore.production.js 716 bytes {0} [built]
[] -> factory:47ms building:65ms dependencies:466ms = 578ms
[416] ./app/reducers/index.js 9.81 kB {0} [built]
[] -> factory:1378ms building:107ms dependencies:7ms = 1492ms
[442] ./node_modules/encoding/lib 160 bytes {0} [optional] [built]
[] -> factory:8ms building:1ms = 9ms
[524] (webpack)/buildin/amd-define.js 85 bytes {0} [built]
[] -> factory:79ms building:49ms = 128ms
[1106] (webpack)/buildin/amd-options.js 80 bytes {0} [built]
[] -> factory:10ms building:39ms = 49ms
+ 1243 hidden modules
WARNING in ./node_modules/encoding/lib/iconv-loader.js
9:12-34 Critical dependency: the request of a dependency is an expression
@ ./node_modules/encoding/lib/iconv-loader.js
@ ./node_modules/encoding/lib/encoding.js
@ ./node_modules/node-fetch/lib/body.js
@ ./node_modules/node-fetch/index.js
@ ./node_modules/isomorphic-fetch/fetch-npm-node.js
@ ./app/components/Oauth.react.js
@ ./app/index.js
WARNING in ./node_modules/plotly.js/dist/plotly.js
Module not found: Error: Can't resolve 'vertx' in '/Users/pieter/Exp/falcon-sql-client/node_modules/plotly.js/dist'
@ ./node_modules/plotly.js/dist/plotly.js 60177:16-26
@ ./app/components/Settings/Preview/chart-editor.jsx
@ ./app/components/Settings/Preview/Preview.react.js
@ ./app/components/Settings/Settings.react.js
@ ./app/components/Configuration.react.js
@ ./app/index.js
$ cross-env NODE_ENV=production node -r babel-register ./node_modules/webpack/bin/webpack --config webpack.config.web.js --profile --colors
Hash: 3c76dfc647fde6dc68f4
Version: webpack 3.8.1
Time: 29448ms
Asset Size Chunks Chunk Names
web-bundle.min.js 12.9 MB 0 [emitted] [big] web
web-bundle.min.js.map 15.6 MB 0 [emitted] web
[13] (webpack)/buildin/global.js 488 bytes {0} [built]
[] -> factory:615ms building:322ms = 937ms
[24] ./app/utils/utils.js 2 kB {0} [built]
[] -> factory:24ms building:464ms = 488ms
[35] ./app/constants/constants.js 17.9 kB {0} [built]
[] -> factory:26ms building:263ms dependencies:105ms = 394ms
[56] (webpack)/buildin/module.js 495 bytes {0} [built]
[] -> factory:64ms building:722ms = 786ms
[202] ./package.json 10.8 kB {0} [built]
[] -> factory:9ms building:10ms = 19ms
[207] ./app/actions/sessions.js 11.5 kB {0} [built]
[] -> factory:323ms building:235ms dependencies:337ms = 895ms
[217] (webpack)/buildin/harmony-module.js 572 bytes {0} [built]
[] -> factory:302ms building:71ms = 373ms
[340] ./app/index.js 1.85 kB {0} [built]
factory:25ms building:151ms = 176ms
[405] ./app/store/configureStore.js 193 bytes {0} [built]
[] -> factory:23ms building:14ms = 37ms
[406] ./app/store/configureStore.production.js 716 bytes {0} [built]
[] -> factory:463ms building:24ms dependencies:551ms = 1038ms
[408] ./app/reducers/index.js 9.81 kB {0} [built]
[] -> factory:1529ms building:131ms dependencies:20ms = 1680ms
[487] (webpack)/buildin/amd-define.js 85 bytes {0} [built]
[] -> factory:80ms building:39ms = 119ms
[1069] (webpack)/buildin/amd-options.js 80 bytes {0} [built]
[] -> factory:23ms building:19ms = 42ms
+ 1206 hidden modules
WARNING in ./node_modules/plotly.js/dist/plotly.js
Module not found: Error: Can't resolve 'vertx' in '/Users/pieter/Exp/falcon-sql-client/node_modules/plotly.js/dist'
@ ./node_modules/plotly.js/dist/plotly.js 60177:16-26
@ ./app/components/Settings/Preview/chart-editor.jsx
@ ./app/components/Settings/Preview/Preview.react.js
@ ./app/components/Settings/Settings.react.js
@ ./app/components/Configuration.react.js
@ ./app/index.js
β¨ Done in 84.17s.
MacBook-Pro:falcon-sql-client pieter$ yarn run start
yarn run v1.6.0
$ cross-env NODE_ENV=production electron --disable-http-cache ./
{ Error: Cannot find module "./build"
at /Users/pieter/Exp/falcon-sql-client/backend/main.js:151:16870
at Object.r.keys (/Users/pieter/Exp/falcon-sql-client/backend/main.js:151:16946)
at t (/Users/pieter/Exp/falcon-sql-client/backend/main.js:2:101)
at Object.i.addProbe.t.fire (/Users/pieter/Exp/falcon-sql-client/backend/main.js:151:7114)
at t (/Users/pieter/Exp/falcon-sql-client/backend/main.js:2:101)
at Object.defineProperty.value (/Users/pieter/Exp/falcon-sql-client/backend/main.js:2:58337)
at t (/Users/pieter/Exp/falcon-sql-client/backend/main.js:2:101)
at Object.T (/Users/pieter/Exp/falcon-sql-client/backend/main.js:151:295)
at t (/Users/pieter/Exp/falcon-sql-client/backend/main.js:2:101)
at /Users/pieter/Exp/falcon-sql-client/backend/main.js:2:451 code: 'MODULE_NOT_FOUND' }
Error: The module '/Users/pieter/Exp/falcon-sql-client/node_modules/dtrace-provider/build/Release/DTraceProviderBindings.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 48. This version of Node.js requires
NODE_MODULE_VERSION 54. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or`npm install`).
at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:173:20)
at Object.Module._extensions..node (module.js:598:18)
at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:173:20)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/Users/pieter/Exp/falcon-sql-client/node_modules/dtrace-provider/dtrace-provider.js:18:23)
at Object.<anonymous> (/Users/pieter/Exp/falcon-sql-client/node_modules/dtrace-provider/dtrace-provider.js:49:3)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/Users/pieter/Exp/falcon-sql-client/node_modules/bunyan/lib/bunyan.js:79:18)
at Object.<anonymous> (/Users/pieter/Exp/falcon-sql-client/node_modules/bunyan/lib/bunyan.js:1629:3)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
I looks like the cause is dtrace-provider
. As a workaround, I'd remove dtrace-provider
from node_modules
. To be safe, after removing dtrace-provider
, I'd rebuild the native modules and the bundles:
yarn rebuild:modules:electron
yarn build
yarn start
I've opened issue #421 to remove dtrace-provider
.
I am running into an issue trying to build the application from source on a mac. Here is my current Mac environment details:
Environment Variables
yarn: v1.3.2 node: v6.11.5 npm: 3.10.10 Mac Build: 10.13.1
I have tried building from master and branch 2.2-release and I am getting similar problems. The following are the instructions I am using for building from source. This was defined in issue #261:
Installation Instructions
When I run the build command I get build warnings about missing modules (see below). And then when I try to run I get two errors (see below) and it never starts. The first is about a missing module (which I assume is linked to the warnings) and the second is about a module version mismatch:
Error 1:
Error: Cannot find module "./build"
Error 2:
Error: Module version mismatch. Expected 48, got 54. at Error (native) at Object.Module._extensions..node (module.js:597:18)
Any help would be greatly appreciated. We are interested in using this tool at my company and I am personally interested in contributing to the project. Any guidance or help would be greatly appreciated.
Thanks
Build Warnings:
Run Errors