vega / voyager

Visualization Tool for Data Exploration
http://vega.github.io/voyager
Other
1.45k stars 179 forks source link

Help Request: Unable to Run React App Locally - Error with 'yarn' Command #897

Closed Yumian-Cui closed 1 year ago

Yumian-Cui commented 1 year ago

I am new to React. I would greatly appreciate any help getting the app running locally, as I am having trouble doing so. I have forked & cloned the project repository onto my local machine (Mac) and run yarn/yarn install from the project directory, but I am encountering the following error.

I first attempted to use the --force flag but encountered other errors due to incompatible dependencies. Toward the end, I could not resolve many more issues, such as "Failed to compile" and "Module not found." Thus, I decided I should ask for help here so that I don’t end up spending time on applying workarounds I didn’t fully understand and being stuck in an endless loop…

Thank you for taking the time to read this issue.

yarn install v1.22.19
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
warning " > react-tabs@3.2.2" has incorrect peer dependency "react@^16.3.0 
|| ^17.0.0-0".
warning "font-awesome-sass-loader > sass-loader@5.0.1" has incorrect peer 
dependency "webpack@^2.0.0".
[4/4] 🔨  Building fresh packages...
[-/5] ⠁ waiting...
[2/5] ⠁ canvas
[3/5] ⠁ canvas-prebuilt
[4/5] ⠁ fsevents
warning Error running install script for optional dependency: 
"/Users/yumiancui/Documents/voyager/node_modules/canvas: Command failed.
Exit code: 1
Command: node-gyp rebuild
Arguments: 
Directory: /Users/yumiancui/Documents/voyager/node_modules/canvas
Output:
gyp info it worked if it ends with ok
gyp info using node-gyp@9.1.0
gyp info using node@18.13.0 | darwin | arm64
gyp info find Python using Python version 3.9.6 found at 
\"/Library/Developer/CommandLineTools/usr/bin/python3\"
gyp info spawn /Library/Developer/CommandLineTools/usr/bin/python3
gyp info spawn args [
gyp info spawn args   
'/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   
'/Users/yumiancui/Documents/voyager/node_modules/canvas/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   
'/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   
'/Users/yumiancui/Library/Caches/node-gyp/18.13.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   
'-Dnode_root_dir=/Users/yumiancui/Library/Caches/node-gyp/18.13.0',
gyp info spawn args   
'-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   
'-Dnode_lib_file=/Users/yumiancui/Library/Caches/node-gyp/18.13.0/<(target_arch)/node.lib',
gyp info spawn args   
'-Dmodule_root_dir=/Users/yumiancui/Documents/voyager/node_modules/canvas',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
./util/has_lib.sh: line 35: pkg-config: command not found
gyp: Call to './util/has_lib.sh pango' returned exit status 0 while in 
binding.gyp. while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit 
(/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:284:16)
gyp ERR! stack     at ChildProcess.emit (node:events:513:28)
gyp ERR! stack     at ChildProcess._handle.onexit 
(node:internal/child_process:291:12)
gyp ERR! System Darwin 22.1.0
gyp ERR! command \"/usr/local/bin/node\" 
\"/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js\" 
\"rebuild\"
gyp ERR! cwd /Users/yumiancui/Documents/voyager/node_modules/canvas
[-/5] ⠂ waiting...
[-/5] ⠂ waiting...
[3/5] ⠂ canvas-prebuilt
[4/5] ⠂ fsevents
warning Error running install script for optional dependency: 
"/Users/yumiancui/Documents/voyager/node_modules/canvas-prebuilt: Command 
failed.
Exit code: 1
Command: node_modules/.bin/node-pre-gyp install
Arguments: 
Directory: /Users/yumiancui/Documents/voyager/node_modules/canvas-prebuilt
Output:
node-pre-gyp info it worked if it ends with ok
node-pre-gyp info using node-pre-gyp@0.6.33
node-pre-gyp info using node@18.13.0 | darwin | arm64
node-pre-gyp info check checked for 
\"/Users/yumiancui/Documents/voyager/node_modules/canvas-prebuilt/canvas/build/Release/canvas-prebuilt.node\" 
(not found)
node-pre-gyp http GET 
https://github.com/chearon/node-canvas-prebuilt/releases/download/v1.6.5-prerelease.1/canvas-prebuilt-v1.6.5-prerelease.1-node-v108-darwin-arm64.tar.gz
node-pre-gyp http 404 
https://github.com/chearon/node-canvas-prebuilt/releases/download/v1.6.5-prerelease.1/canvas-prebuilt-v1.6.5-prerelease.1-node-v108-darwin-arm64.tar.gz
node-pre-gyp ERR! install error 
node-pre-gyp ERR! stack Error: 404 status code downloading tarball 
https://github.com/chearon/node-canvas-prebuilt/releases/download/v1.6.5-prerelease.1/canvas-prebuilt-v1.6.5-prerelease.1-node-v108-darwin-arm64.tar.gz
node-pre-gyp ERR! stack     at Request.<anonymous> 
(/Users/yumiancui/Documents/voyager/node_modules/node-pre-gyp/lib/install.js:120:27)
node-pre-gyp ERR! stack     at Request.emit (node:events:525:35)
node-pre-gyp ERR! stack     at Request.onRequestResponse 
(/Users/yumiancui/Documents/voyager/node_modules/request/request.js:986:10)
node-pre-gyp ERR! stack     at ClientRequest.emit (node:events:513:28)
node-pre-gyp ERR! stack     at HTTPParser.parserOnIncomingClient [as 
onIncoming] (node:_http_client:695:27)
node-pre-gyp ERR! stack     at HTTPParser.parserOnHeadersComplete 
(node:_http_common:117:17)
node-pre-gyp ERR! stack     at TLSSocket.socketOnData 
(node:_http_client:536:22)
node-pre-gyp ERR! stack     at TLSSocket.emit (node:events:513:28)
node-pre-gyp ERR! stack     at addChunk 
(node:internal/streams/readable:324:12)
node-pre-gyp ERR! stack     at readableAddChunk 
(node:internal/streams/readable:297:9)
node-pre-gyp ERR! System Darwin 22.1.0
node-pre-gyp ERR! command \"/usr/local/bin/node\" 
\"/Users/yumiancui/Documents/voyager/node_modules/canvas-prebuilt/node_modules/.bin/node-pre-gyp\" 
\"install\"
node-pre-gyp ERR! cwd 
/Users/yumiancui/Documents/voyager/node_modules/canvas-prebuilt
node-pre-gyp ERR! node -v v18.13.0
node-pre-gyp ERR! node-pre-gyp -v v0.6.33
node-pre-gyp ERR! not ok 
[-/5] ⢀ waiting...
[-/5] ⢀ waiting...
[-/5] ⢀ waiting...
[4/5] ⢀ fsevents
error /Users/yumiancui/Documents/voyager/node_modules/node-sass: Command 
failed.
Exit code: 1
Command: node scripts/build.js
Arguments: 
Directory: /Users/yumiancui/Documents/voyager/node_modules/node-sass
Output:
Building: /usr/local/bin/node 
/Users/yumiancui/Documents/voyager/node_modules/node-gyp/bin/node-gyp.js 
rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= 
--libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli   '/usr/local/bin/node',
gyp verb cli   
'/Users/yumiancui/Documents/voyager/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library='
gyp verb cli ]
gyp info using node-gyp@3.8.0
gyp info using node@18.13.0 | darwin | arm64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2
gyp verb `which` failed     at getNotFoundError 
(/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:13:12)
gyp verb `which` failed     at F 
(/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:68:19)
gyp verb `which` failed     at E 
(/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:80:29)
gyp verb `which` failed     at 
/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:89:16
gyp verb `which` failed     at 
/Users/yumiancui/Documents/voyager/node_modules/isexe/index.js:42:5
gyp verb `which` failed     at 
/Users/yumiancui/Documents/voyager/node_modules/isexe/mode.js:8:5
gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:207:21)
gyp verb `which` failed  python2 Error: not found: python2
gyp verb `which` failed     at getNotFoundError 
(/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:13:12)
gyp verb `which` failed     at F 
(/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:68:19)
gyp verb `which` failed     at E 
(/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:80:29)
gyp verb `which` failed     at 
/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:89:16
gyp verb `which` failed     at 
/Users/yumiancui/Documents/voyager/node_modules/isexe/index.js:42:5
gyp verb `which` failed     at 
/Users/yumiancui/Documents/voyager/node_modules/isexe/mode.js:8:5
gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:207:21) {
gyp verb `which` failed   code: 'ENOENT'
gyp verb `which` failed }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` failed Error: not found: python
gyp verb `which` failed     at getNotFoundError 
(/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:13:12)
gyp verb `which` failed     at F 
(/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:68:19)
gyp verb `which` failed     at E 
(/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:80:29)
gyp verb `which` failed     at 
/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:89:16
gyp verb `which` failed     at 
/Users/yumiancui/Documents/voyager/node_modules/isexe/index.js:42:5
gyp verb `which` failed     at 
/Users/yumiancui/Documents/voyager/node_modules/isexe/mode.js:8:5
gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:207:21)
gyp verb `which` failed  python Error: not found: python
gyp verb `which` failed     at getNotFoundError 
(/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:13:12)
gyp verb `which` failed     at F 
(/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:68:19)
gyp verb `which` failed     at E 
(/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:80:29)
gyp verb `which` failed     at 
/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:89:16
gyp verb `which` failed     at 
/Users/yumiancui/Documents/voyager/node_modules/isexe/index.js:42:5
gyp verb `which` failed     at 
/Users/yumiancui/Documents/voyager/node_modules/isexe/mode.js:8:5
gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:207:21) {
gyp verb `which` failed   code: 'ENOENT'
gyp verb `which` failed }
gyp ERR! configure error 
gyp ERR! stack Error: Can't find Python executable "python", you can set 
the PYTHON env variable.
gyp ERR! stack     at PythonFinder.failNoPython 
(/Users/yumiancui/Documents/voyager/node_modules/node-gyp/lib/configure.js:484:19)
gyp ERR! stack     at PythonFinder.<anonymous> 
(/Users/yumiancui/Documents/voyager/node_modules/node-gyp/lib/configure.js:406:16)
gyp ERR! stack     at F 
(/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:68:16)
gyp ERR! stack     at E 
(/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:80:29)
gyp ERR! stack     at 
/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:89:16
gyp ERR! stack     at 
/Users/yumiancui/Documents/voyager/node_modules/isexe/index.js:42:5
gyp ERR! stack     at 
/Users/yumiancui/Documents/voyager/node_modules/isexe/mode.js:8:5
gyp ERR! stack     at FSReqCallback.oncomplete (node:fs:207:21)
gyp ERR! System Darwin 22.1.0
gyp ERR! command "/usr/local/bin/node" 
"/Users/yumiancui/Documents/voyager/node_modules/node-gyp/bin/node-gyp.js" 
"rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" 
"--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /Users/yumiancui/Documents/voyager/node_modules/node-sass
gyp ERR! node -v v18.13.0
gyp ERR! node-gyp -v v3.8.0
domoritz commented 1 year ago

I can't dig into this but I suspect a different node version will work better. Try node 15 https://github.com/vega/voyager/blob/25da4e265db5fd37ffb6e652ac394f1c9a387a38/.github/workflows/test.yml#L24. I can reopen if this issue persists.

Yumian-Cui commented 1 year ago

Thanks for your prompt suggestion! I tried downgrading my node.js to version 15.0.0 and then ran yarn again. Unfortunately, it still returned pretty much the same long error. There were multiple errors in it. I noticed a 404 status code downloading tarball error and then python2 not found error (could it be anyhow related to this issue here? https://github.com/nodejs/node-gyp/issues/1268). Not sure which part of the errors were essential to fix first.

yarn install v1.22.19
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
warning " > react-tabs@3.2.2" has incorrect peer dependency "react@^16.3.0 || ^17.0.0-0".
warning "font-awesome-sass-loader > sass-loader@5.0.1" has incorrect peer dependency "webpack@^2.0.0".
[4/4] 🔨  Building fresh packages...
[-/5] ⠁ waiting...
[2/5] ⠁ canvas
[3/5] ⠁ canvas-prebuilt
[4/5] ⠁ fsevents
warning Error running install script for optional dependency: "/Users/yumiancui/Documents/voyager/node_modules/canvas-prebuilt: Command failed.
Exit code: 1
Command: node_modules/.bin/node-pre-gyp install
Arguments: 
Directory: /Users/yumiancui/Documents/voyager/node_modules/canvas-prebuilt
Output:
node-pre-gyp info it worked if it ends with ok
node-pre-gyp info using node-pre-gyp@0.6.33
node-pre-gyp info using node@15.0.0 | darwin | x64
node-pre-gyp info check checked for \"/Users/yumiancui/Documents/voyager/node_modules/canvas-prebuilt/canvas/build/Release/canvas-prebuilt.node\" (not found)
node-pre-gyp http GET https://github.com/chearon/node-canvas-prebuilt/releases/download/v1.6.5-prerelease.1/canvas-prebuilt-v1.6.5-prerelease.1-node-v88-darwin-x64.tar.gz
node-pre-gyp http 404 https://github.com/chearon/node-canvas-prebuilt/releases/download/v1.6.5-prerelease.1/canvas-prebuilt-v1.6.5-prerelease.1-node-v88-darwin-x64.tar.gz
node-pre-gyp ERR! install error 
node-pre-gyp ERR! stack Error: 404 status code downloading tarball https://github.com/chearon/node-canvas-prebuilt/releases/download/v1.6.5-prerelease.1/canvas-prebuilt-v1.6.5-prerelease.1-node-v88-darwin-x64.tar.gz
node-pre-gyp ERR! stack     at Request.<anonymous> (/Users/yumiancui/Documents/voyager/node_modules/node-pre-gyp/lib/install.js:120:27)
node-pre-gyp ERR! stack     at Request.emit (node:events:339:22)
node-pre-gyp ERR! stack     at Request.onRequestResponse (/Users/yumiancui/Documents/voyager/node_modules/request/request.js:986:10)
node-pre-gyp ERR! stack     at ClientRequest.emit (node:events:327:20)
node-pre-gyp ERR! stack     at HTTPParser.parserOnIncomingClient [as onIncoming] (node:_http_client:652:27)
node-pre-gyp ERR! stack     at HTTPParser.parserOnHeadersComplete (node:_http_common:126:17)
node-pre-gyp ERR! stack     at TLSSocket.socketOnData (node:_http_client:518:22)
node-pre-gyp ERR! stack     at TLSSocket.emit (node:events:327:20)
node-pre-gyp ERR! stack     at addChunk (node:internal/streams/readable:304:12)
node-pre-gyp ERR! stack     at readableAddChunk (node:internal/streams/readable:279:9)
node-pre-gyp ERR! System Darwin 22.1.0
node-pre-gyp ERR! command \"/usr/local/bin/node\" \"/Users/yumiancui/Documents/voyager/node_modules/canvas-prebuilt/node_modules/.bin/node-pre-gyp\" \"install\"
node-pre-gyp ERR! cwd /Users/yumiancui/Documents/voyager/node_modules/canvas-prebuilt
node-pre-gyp ERR! node -v v15.0.0
node-pre-gyp ERR! node-pre-gyp -v v0.6.33
node-pre-gyp ERR! not ok 
[-/5] ⡀ waiting...
[2/5] ⡀ canvas
[-/5] ⡀ waiting...
[4/5] ⡀ fsevents
warning Error running install script for optional dependency: "/Users/yumiancui/Documents/voyager/node_modules/canvas: Command failed.
Exit code: 1
Command: node-gyp rebuild
Arguments: 
Directory: /Users/yumiancui/Documents/voyager/node_modules/canvas
Output:
gyp info it worked if it ends with ok
gyp info using node-gyp@7.1.1
gyp info using node@15.0.0 | darwin | x64
gyp info find Python using Python version 3.9.6 found at \"/Library/Developer/CommandLineTools/usr/bin/python3\"
gyp info spawn /Library/Developer/CommandLineTools/usr/bin/python3
gyp info spawn args [
gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/yumiancui/Documents/voyager/node_modules/canvas/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/yumiancui/Library/Caches/node-gyp/15.0.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/yumiancui/Library/Caches/node-gyp/15.0.0',
gyp info spawn args   '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/Users/yumiancui/Library/Caches/node-gyp/15.0.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/Users/yumiancui/Documents/voyager/node_modules/canvas',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
./util/has_lib.sh: line 35: pkg-config: command not found
gyp: Call to './util/has_lib.sh pango' returned exit status 0 while in binding.gyp. while trying to load binding.gyp
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16)
gyp ERR! stack     at ChildProcess.emit (node:events:327:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:277:12)
gyp ERR! System Darwin 22.1.0
gyp ERR! command \"/usr/local/bin/node\" \"/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js\" \"rebuild\"
gyp ERR! cwd /Users/yumiancui/Documents/voyager/node_modules/canvas
gyp ERR! node -v v15.0.0
gyp ERR! node-gyp -v v7.1.1
gyp ERR! not ok"
info This module is OPTIONAL, you can safely ignore this error
error /Users/yumiancui/Documents/voyager/node_modules/node-sass: Command failed.
Exit code: 1
Command: node scripts/build.js
Arguments: 
Directory: /Users/yumiancui/Documents/voyager/node_modules/node-sass
Output:
Building: /usr/local/bin/node /Users/yumiancui/Documents/voyager/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli   '/usr/local/bin/node',
gyp verb cli   '/Users/yumiancui/Documents/voyager/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library='
gyp verb cli ]
gyp info using node-gyp@3.8.0
gyp info using node@15.0.0 | darwin | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2
gyp verb `which` failed     at getNotFoundError (/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:13:12)
gyp verb `which` failed     at F (/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:68:19)
gyp verb `which` failed     at E (/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:80:29)
gyp verb `which` failed     at /Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:89:16
gyp verb `which` failed     at /Users/yumiancui/Documents/voyager/node_modules/isexe/index.js:42:5
gyp verb `which` failed     at /Users/yumiancui/Documents/voyager/node_modules/isexe/mode.js:8:5
gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:183:21)
gyp verb `which` failed  python2 Error: not found: python2
gyp verb `which` failed     at getNotFoundError (/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:13:12)
gyp verb `which` failed     at F (/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:68:19)
gyp verb `which` failed     at E (/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:80:29)
gyp verb `which` failed     at /Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:89:16
gyp verb `which` failed     at /Users/yumiancui/Documents/voyager/node_modules/isexe/index.js:42:5
gyp verb `which` failed     at /Users/yumiancui/Documents/voyager/node_modules/isexe/mode.js:8:5
gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:183:21) {
gyp verb `which` failed   code: 'ENOENT'
gyp verb `which` failed }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` failed Error: not found: python
gyp verb `which` failed     at getNotFoundError (/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:13:12)
gyp verb `which` failed     at F (/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:68:19)
gyp verb `which` failed     at E (/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:80:29)
gyp verb `which` failed     at /Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:89:16
gyp verb `which` failed     at /Users/yumiancui/Documents/voyager/node_modules/isexe/index.js:42:5
gyp verb `which` failed     at /Users/yumiancui/Documents/voyager/node_modules/isexe/mode.js:8:5
gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:183:21)
gyp verb `which` failed  python Error: not found: python
gyp verb `which` failed     at getNotFoundError (/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:13:12)
gyp verb `which` failed     at F (/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:68:19)
gyp verb `which` failed     at E (/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:80:29)
gyp verb `which` failed     at /Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:89:16
gyp verb `which` failed     at /Users/yumiancui/Documents/voyager/node_modules/isexe/index.js:42:5
gyp verb `which` failed     at /Users/yumiancui/Documents/voyager/node_modules/isexe/mode.js:8:5
gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:183:21) {
gyp verb `which` failed   code: 'ENOENT'
gyp verb `which` failed }
gyp ERR! configure error 
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack     at PythonFinder.failNoPython (/Users/yumiancui/Documents/voyager/node_modules/node-gyp/lib/configure.js:484:19)
gyp ERR! stack     at PythonFinder.<anonymous> (/Users/yumiancui/Documents/voyager/node_modules/node-gyp/lib/configure.js:406:16)
gyp ERR! stack     at F (/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:68:16)
gyp ERR! stack     at E (/Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:80:29)
gyp ERR! stack     at /Users/yumiancui/Documents/voyager/node_modules/node-gyp/node_modules/which/which.js:89:16
gyp ERR! stack     at /Users/yumiancui/Documents/voyager/node_modules/isexe/index.js:42:5
gyp ERR! stack     at /Users/yumiancui/Documents/voyager/node_modules/isexe/mode.js:8:5
gyp ERR! stack     at FSReqCallback.oncomplete (node:fs:183:21)
gyp ERR! System Darwin 22.1.0
gyp ERR! command "/usr/local/bin/node" "/Users/yumiancui/Documents/voyager/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /Users/yumiancui/Documents/voyager/node_modules/node-sass
gyp ERR! node -v v15.0.0
gyp ERR! node-gyp -v v3.8.0
domoritz commented 1 year ago

Yeah, I was hoping npm would grab the prebuilt binaries for you but it really wants to recompile.

In that case, make sure to install the dependencies for canvas (pkg-config etc as shown in the error) and try again.