lukeed / lukeed/preact-starter

npm install fails; obsolete packages, missing python2

Open
#24 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
387
Forks
38
PR merge metrics
No merged PRs in 30d

Description

Just tried to set this up on macOS 13.0.1 and got a whole heap of errors and warnings :( Looks like a bunch of the dependencies are rev-locked to obsolete versions, and also something wants to run python2 which is no longer provided on macOS (and I would rather not install it since it’s EOL.)

I’m sure this would be easy for me to work around if I were savvy with npm, but I’m not.

$  npm i                                                    in ~/Projects/tmp/preact-starter-master
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'got@5.7.1',
npm WARN EBADENGINE   required: { node: '>=0.10.0 <7' },
npm WARN EBADENGINE   current: { node: 'v18.11.0', npm: '8.19.2' }
npm WARN EBADENGINE }
npm WARN deprecated fsevents@1.1.3: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated json3@3.3.2: Please use the native JSON object instead of JSON 3
npm WARN deprecated chokidar@1.7.0: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated buffer@4.9.1: This version of 'buffer' is out-of-date. You must update to v4.9.2 or newer
npm WARN deprecated acorn-dynamic-import@2.0.2: This is probably built in to whatever tool you're using. If you still need it... idk
npm WARN deprecated ini@1.3.4: Please update to ini >=1.3.6 to avoid a prototype pollution issue
npm WARN deprecated sw-precache@5.2.0: Please migrate to Workbox: https://developers.google.com/web/tools/workbox/guides/migrations/migrate-from-sw
npm WARN deprecated sw-toolbox@3.6.0: Please migrate to Workbox: https://developers.google.com/web/tools/workbox/guides/migrations/migrate-from-sw
npm WARN deprecated sntp@2.1.0: This module moved to @hapi/sntp. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated hoek@4.2.0: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated cryptiles@3.1.2: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated boom@4.3.1: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated uuid@3.1.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated hawk@6.0.2: This module moved to @hapi/hawk. Please make sure to switch over as this distribution is no longer supported and may contain bugs and critical security issues.
npm WARN deprecated har-validator@5.0.3: this library is no longer supported
npm WARN deprecated domelementtype@1.3.0: update to domelementtype@1.3.1
npm WARN deprecated flatten@1.0.2: flatten is deprecated in favor of utility frameworks such as lodash.
npm WARN deprecated svgo@0.7.2: This SVGO version is no longer supported. Upgrade to v2.x.x.
npm WARN deprecated tar@2.2.1: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
npm WARN deprecated request@2.83.0: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated core-js@2.5.1: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated browserslist@2.9.0: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
npm WARN deprecated html-webpack-plugin@2.30.1: out of support
npm WARN deprecated extract-text-webpack-plugin@3.0.2: Deprecated. Please use https://github.com/webpack-contrib/mini-css-extract-plugin
npm WARN deprecated babel-preset-babili@0.1.4: babili has been renamed to babel-minify. Please update to babel-preset-minify
npm WARN deprecated babel-preset-es2015@6.24.1: 🙌  Thanks for using Babel: we recommend using babel-preset-env now: please read https://babeljs.io/env to update!
npm WARN deprecated uuid@2.0.3: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated uuid@2.0.3: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated boom@5.2.0: This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
npm WARN deprecated browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
npm WARN deprecated browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
npm WARN deprecated browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm notice 
npm notice New major version of npm available! 8.19.2 -> 9.1.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.1.2
npm notice Run npm install -g npm@9.1.2 to update!
npm notice 
npm ERR! code 1
npm ERR! path /Users/snej/Projects/tmp/preact-starter-master/node_modules/node-sass
npm ERR! command failed
npm ERR! command sh -c -- node scripts/build.js
npm ERR! Building: /opt/homebrew/Cellar/node/18.11.0/bin/node /Users/snej/Projects/tmp/preact-starter-master/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp verb cli [
npm ERR! gyp verb cli   '/opt/homebrew/Cellar/node/18.11.0/bin/node',
npm ERR! gyp verb cli   '/Users/snej/Projects/tmp/preact-starter-master/node_modules/node-gyp/bin/node-gyp.js',
npm ERR! gyp verb cli   'rebuild',
npm ERR! gyp verb cli   '--verbose',
npm ERR! gyp verb cli   '--libsass_ext=',
npm ERR! gyp verb cli   '--libsass_cflags=',
npm ERR! gyp verb cli   '--libsass_ldflags=',
npm ERR! gyp verb cli   '--libsass_library='
npm ERR! gyp verb cli ]
npm ERR! gyp info using node-gyp@3.6.2
npm ERR! gyp info using node@18.11.0 | darwin | arm64
npm ERR! gyp verb command rebuild []
npm ERR! gyp verb command clean []
npm ERR! gyp verb clean removing "build" directory
npm ERR! gyp verb command configure []
npm ERR! gyp verb check python checking for Python executable "python2" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (/Users/snej/Projects/tmp/preact-starter-master/node_modules/which/which.js:13:12)
npm ERR! gyp verb `which` failed     at F (/Users/snej/Projects/tmp/preact-starter-master/node_modules/which/which.js:68:19)
npm ERR! gyp verb `which` failed     at E (/Users/snej/Projects/tmp/preact-starter-master/node_modules/which/which.js:80:29)
npm ERR! gyp verb `which` failed     at /Users/snej/Projects/tmp/preact-starter-master/node_modules/which/which.js:89:16
npm ERR! gyp verb `which` failed     at /Users/snej/Projects/tmp/preact-starter-master/node_modules/isexe/index.js:42:5
npm ERR! gyp verb `which` failed     at /Users/snej/Projects/tmp/preact-starter-master/node_modules/isexe/mode.js:8:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:207:21)
npm ERR! gyp verb `which` failed  python2 Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (/Users/snej/Projects/tmp/preact-starter-master/node_modules/which/which.js:13:12)
npm ERR! gyp verb `which` failed     at F (/Users/snej/Projects/tmp/preact-starter-master/node_modules/which/which.js:68:19)
npm ERR! gyp verb `which` failed     at E (/Users/snej/Projects/tmp/preact-starter-master/node_modules/which/which.js:80:29)
npm ERR! gyp verb `which` failed     at /Users/snej/Projects/tmp/preact-starter-master/node_modules/which/which.js:89:16
npm ERR! gyp verb `which` failed     at /Users/snej/Projects/tmp/preact-starter-master/node_modules/isexe/index.js:42:5
npm ERR! gyp verb `which` failed     at /Users/snej/Projects/tmp/preact-starter-master/node_modules/isexe/mode.js:8:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:207:21) {
npm ERR! gyp verb `which` failed   code: 'ENOENT'
npm ERR! gyp verb `which` failed }
npm ERR! gyp verb check python checking for Python executable "python" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python
npm ERR! gyp verb `which` failed     at getNotFoundError (/Users/snej/Projects/tmp/preact-starter-master/node_modules/which/which.js:13:12)
npm ERR! gyp verb `which` failed     at F (/Users/snej/Projects/tmp/preact-starter-master/node_modules/which/which.js:68:19)
npm ERR! gyp verb `which` failed     at E (/Users/snej/Projects/tmp/preact-starter-master/node_modules/which/which.js:80:29)
npm ERR! gyp verb `which` failed     at /Users/snej/Projects/tmp/preact-starter-master/node_modules/which/which.js:89:16
npm ERR! gyp verb `which` failed     at /Users/snej/Projects/tmp/preact-starter-master/node_modules/isexe/index.js:42:5
npm ERR! gyp verb `which` failed     at /Users/snej/Projects/tmp/preact-starter-master/node_modules/isexe/mode.js:8:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:207:21)
npm ERR! gyp verb `which` failed  python Error: not found: python
npm ERR! gyp verb `which` failed     at getNotFoundError (/Users/snej/Projects/tmp/preact-starter-master/node_modules/which/which.js:13:12)
npm ERR! gyp verb `which` failed     at F (/Users/snej/Projects/tmp/preact-starter-master/node_modules/which/which.js:68:19)
npm ERR! gyp verb `which` failed     at E (/Users/snej/Projects/tmp/preact-starter-master/node_modules/which/which.js:80:29)
npm ERR! gyp verb `which` failed     at /Users/snej/Projects/tmp/preact-starter-master/node_modules/which/which.js:89:16
npm ERR! gyp verb `which` failed     at /Users/snej/Projects/tmp/preact-starter-master/node_modules/isexe/index.js:42:5
npm ERR! gyp verb `which` failed     at /Users/snej/Projects/tmp/preact-starter-master/node_modules/isexe/mode.js:8:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:207:21) {
npm ERR! gyp verb `which` failed   code: 'ENOENT'
npm ERR! gyp verb `which` failed }
npm ERR! gyp ERR! configure error 
npm ERR! gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
npm ERR! gyp ERR! stack     at PythonFinder.failNoPython (/Users/snej/Projects/tmp/preact-starter-master/node_modules/node-gyp/lib/configure.js:483:19)
npm ERR! gyp ERR! stack     at PythonFinder.<anonymous> (/Users/snej/Projects/tmp/preact-starter-master/node_modules/node-gyp/lib/configure.js:397:16)
npm ERR! gyp ERR! stack     at F (/Users/snej/Projects/tmp/preact-starter-master/node_modules/which/which.js:68:16)
npm ERR! gyp ERR! stack     at E (/Users/snej/Projects/tmp/preact-starter-master/node_modules/which/which.js:80:29)
npm ERR! gyp ERR! stack     at /Users/snej/Projects/tmp/preact-starter-master/node_modules/which/which.js:89:16
npm ERR! gyp ERR! stack     at /Users/snej/Projects/tmp/preact-starter-master/node_modules/isexe/index.js:42:5
npm ERR! gyp ERR! stack     at /Users/snej/Projects/tmp/preact-starter-master/node_modules/isexe/mode.js:8:5
npm ERR! gyp ERR! stack     at FSReqCallback.oncomplete (node:fs:207:21)
npm ERR! gyp ERR! System Darwin 22.1.0
npm ERR! gyp ERR! command "/opt/homebrew/Cellar/node/18.11.0/bin/node" "/Users/snej/Projects/tmp/preact-starter-master/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd /Users/snej/Projects/tmp/preact-starter-master/node_modules/node-sass
npm ERR! gyp ERR! node -v v18.11.0
npm ERR! gyp ERR! node-gyp -v v3.6.2
npm ERR! gyp ERR! not ok 
npm ERR! Build failed with error code: 1

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure with npm install and tracing the node-sass node-gyp build that requires Python 2. Review the dependency versions reported as obsolete, then verify that installation completes on the reported macOS and Node.js environment without requiring Python 2.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js, python, webpack
Domain
build-system, developer-experience
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.