Migration tutorial fails without python2

未关闭
#381 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
nodejs, python
领域
build-system

调研方向

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.

由索引模型根据 Issue 内容生成。

描述

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.

主要语言
C++
星标
2.6k
派生
602
PR 合并指标
30 天内没有已合并 PR

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

nodejs/node-addon-examples 的其他 Issue

查看 nodejs/node-addon-examples 的全部 Issue

相似的 Issue

更多 C++ Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。