Migration tutorial fails without python2

Abierto
#381 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
nodejs, python
Área
build-system

Línea de trabajo

Start with package-lock.json and the node-microtime installation path shown in the npm install output; inspect why node-gyp@3.8.0 invokes Python 2 syntax. Reproduce the migration tutorial with Node.js 20 and Python 3.9, then verify that npm install completes without requiring Python 2.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

The system I'm using only has python 3.9.18 installed. Running 'npm install' fails as follows:
$ npm install

npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated circular-json@0.3.3: CircularJSON is in maintenance only, flatted is its successor.
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 tar@3.2.3: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
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 tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.

> microtime@2.1.9 install
> prebuild-install || node-gyp rebuild

gyp info it worked if it ends with ok
gyp info using node-gyp@3.8.0
gyp info using node@20.11.0 | linux | x64
gyp ERR! configure error 
gyp ERR! stack Error: Command failed: /usr/bin/python -c import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack   File "<string>", line 1
gyp ERR! stack     import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack                       ^
gyp ERR! stack SyntaxError: invalid syntax
gyp ERR! stack 
gyp ERR! stack     at ChildProcess.exithandler (node:child_process:422:12)
gyp ERR! stack     at ChildProcess.emit (node:events:518:28)
gyp ERR! stack     at maybeClose (node:internal/child_process:1105:16)
gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:305:5)
gyp ERR! System Linux 5.14.0-362.8.1.el9_3.x86_64
gyp ERR! command "/usr/local/nodejs/node-v20.11/bin/node" ".../node-microtime/node_modules/.bin/node-gyp" "rebuild"
gyp ERR! cwd .../node-microtime
gyp ERR! node -v v20.11.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok 
npm ERR! code 1
npm ERR! path .../node-microtime
npm ERR! command failed
npm ERR! command sh -c prebuild-install || node-gyp rebuild

The issue seems to be that node-gyp@3.8.0 ends up in package-lock.json, which issues the python print statement without parentheses.

Is there a way around this without installing python2? Thanks.

Lenguaje dominante
C++
Estrellas
2.6k
Forks
602
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de nodejs/node-addon-examples

Todos los issues de nodejs/node-addon-examples

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.