brownhci / WebGazer

WebGazer.js: Scalable Webcam EyeTracking Using User Interactions
https://webgazer.cs.brown.edu
Other
3.54k stars 536 forks source link

Not able to install/build on node v18.13.0 #287

Closed Icaro-Nunes closed 1 year ago

Icaro-Nunes commented 1 year ago

Tried to build WebGazer on node version 18.13.0 and wasn't able (results below). Worked on v16.19.0, and I believe it will not work on versions >=17. I suggest it to be advised on the docs or README, something like "Build tested on node v16.19.0, not working on versions above 17"

$ nvm use 18.13.0
Now using node v18.13.0 (npm v8.19.3)
$ npm install
npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.

added 865 packages, and audited 866 packages in 20s

18 packages are looking for funding
  run `npm fund` for details

24 vulnerabilities (1 low, 10 moderate, 10 high, 3 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.
$ npm run build

> webgazer@3.0.0 prebuild
> npm run clean

> webgazer@3.0.0 clean
> rimraf dist

> webgazer@3.0.0 build
> webpack --progress --colors --config webpack.config.js --mode=production && cp dist/webgazer.js www/. && cp dist/webgazer.js www/data/src/. && cp dist/webgazer.js.map www/. && cp dist/webgazer.js.map www/data/src/.

10% [1] building 0/1 modules 1 active ./src/index.mjsnode:internal/crypto/hash:71
  this[kHandle] = new _Hash(algorithm, xofLen);
                  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (./node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (./node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (./node_modules/webpack/lib/NormalModule.js:471:10)
    at ./node_modules/webpack/lib/NormalModule.js:503:5
    at ./node_modules/webpack/lib/NormalModule.js:358:12
    at ./node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (./node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at Array.<anonymous> (./node_modules/loader-runner/lib/LoaderRunner.js:205:4)
    at Storage.finished (./node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
    at ./node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
    at ./node_modules/graceful-fs/graceful-fs.js:123:16
    at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3) {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v18.13.0
jeffhuang commented 1 year ago

this is fixed now