telerik / react-coffee-warehouse

Other
27 stars 29 forks source link

npm command fails #15

Open darranromo opened 2 years ago

darranromo commented 2 years ago

Hi,

Completely new to the world of Kendo - coming from a predominantly WPF environment.

I've installed node and have npm version 8.5.5

I've cloned the repository and then run:

npm install --save

This fails with the following output:

npm WARN deprecated @types/testing-library__dom@7.5.0: This is a stub types definition. testing-library__dom provides its own type definitions, so you do not need this installed.
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated flatten@1.0.3: flatten is deprecated in favor of utility frameworks such as lodash.
npm WARN deprecated @hapi/bourne@1.3.2: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/topo@3.1.6: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm WARN deprecated chokidar@2.1.8: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated left-pad@1.3.0: use String.prototype.padStart()
npm WARN deprecated sane@4.1.0: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added
npm WARN deprecated eslint-loader@3.0.3: This loader has been deprecated. Please use eslint-webpack-plugin
npm WARN deprecated @hapi/address@2.1.4: Moved to 'npm install @sideway/address'
npm WARN deprecated html-webpack-plugin@4.0.0-beta.11: please switch to a stable version
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated babel-eslint@10.1.0: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
npm WARN deprecated uuid@3.4.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 request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/joi@15.1.1: Switch to 'npm install joi'
npm WARN deprecated svgo@1.3.2: This SVGO version is no longer supported. Upgrade to v2.x.x.
npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
npm WARN deprecated core-js@2.6.12: core-js@<3.4 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. Please, upgrade your dependencies to the actual version of core-js.
npm ERR! code 1
npm ERR! path C:\Users\darran\source\repos\CoffeeReact\react-coffee-warehouse\node_modules\node-sass
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node scripts/build.js
npm ERR! Building: C:\Program Files\nodejs\node.exe C:\Users\darran\source\repos\CoffeeReact\react-coffee-warehouse\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   'C:\\Program Files\\nodejs\\node.exe',
npm ERR! gyp verb cli   'C:\\Users\\darran\\source\\repos\\CoffeeReact\\react-coffee-warehouse\\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.8.0
npm ERR! gyp info using node@16.15.0 | win32 | x64
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 (C:\Users\darran\source\repos\CoffeeReact\react-coffee-warehouse\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\darran\source\repos\CoffeeReact\react-coffee-warehouse\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\darran\source\repos\CoffeeReact\react-coffee-warehouse\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\darran\source\repos\CoffeeReact\react-coffee-warehouse\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at C:\Users\darran\source\repos\CoffeeReact\react-coffee-warehouse\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\darran\source\repos\CoffeeReact\react-coffee-warehouse\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:198:21)
npm ERR! gyp verb `which` failed  python2 Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\Users\darran\source\repos\CoffeeReact\react-coffee-warehouse\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\darran\source\repos\CoffeeReact\react-coffee-warehouse\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\darran\source\repos\CoffeeReact\react-coffee-warehouse\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\darran\source\repos\CoffeeReact\react-coffee-warehouse\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at C:\Users\darran\source\repos\CoffeeReact\react-coffee-warehouse\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\darran\source\repos\CoffeeReact\react-coffee-warehouse\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:198: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` succeeded python C:\Python310\python.EXE
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Command failed: C:\Python310\python.EXE -c import sys; print "%s.%s.%s" % sys.version_info[:3];
npm ERR! gyp ERR! stack   File "<string>", line 1
npm ERR! gyp ERR! stack     import sys; print "%s.%s.%s" % sys.version_info[:3];
npm ERR! gyp ERR! stack                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
npm ERR! gyp ERR! stack SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
npm ERR! gyp ERR! stack
npm ERR! gyp ERR! stack     at ChildProcess.exithandler (node:child_process:398:12)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:527:28)
npm ERR! gyp ERR! stack     at maybeClose (node:internal/child_process:1092:16)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:302:5)
npm ERR! gyp ERR! System Windows_NT 10.0.22000
npm ERR! gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\darran\\source\\repos\\CoffeeReact\\react-coffee-warehouse\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd C:\Users\darran\source\repos\CoffeeReact\react-coffee-warehouse\node_modules\node-sass
npm ERR! gyp ERR! node -v v16.15.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok
npm ERR! Build failed with error code: 1

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\darran\AppData\Local\npm-cache\_logs\2022-05-31T13_44_16_343Z-debug-0.log

I've attached the debug log: 2022-05-31T13_44_16_343Z-debug-0.log

A colleague has also tried with the same result.

Darran

justheath commented 2 years ago

I ran into the same problem today, first with not having python installed, then my environment not knowing where python3 was installed, and then the same error with import sys. I believe the issue is the version of node used with the version of node-gyp, which is required for node-sass.

I'm running in Ubuntu via WSL 2, but steps should be basically the same. I didn't want to switch my node version so I upgraded the project instead.

Here's how I resolved each of the issues to get the project running:

  1. I installed python3. Looks like you already have this.

  2. npm config set python "/path/to/python". While your environment did find it eventually, it tried python2 first. This resolves it faster.

  3. Upgrade all @progress packages and react-scripts. I found this the easiest way to upgrade them:

    • I had removed node-sass prior to this, not sure if that was necessary.
    • Cut all the @progress dependencies out of package.json. Run npm i so it removes them all from the lock file too.
    • Paste them into your favorite text editor, e.g. Notepad++ and delete everything (: "^x.y.z",) except the package names
    • Join all the lines, ensuring you have spaces between each package name.
    • Install all these packages to get the latest versions: npm i [paste-them-all-here]
    • Upgrade react-scripts according to it's changelog procedures.
    • Add node-sass - I used version 6 as it was listed as compatible with node 16: npm i node-sass@~6

I suspect there's a faster way to get the latest versions of the kendo packages but when I tried updating the versions never changed in the lock file. After this I was able to npm start.

supermpc commented 2 years ago

These lines: npm ERR! path C:\Users\darran\source\repos\CoffeeReact\react-coffee-warehouse\node_modules\node-sass npm ERR! command failed

Try these: npm uninstall node-sass npm install --save-dev sass

Should be ok.