gpt4 book ai didi

node.js - npm 安装 npm 错误! gyp 动词 `which` 失败错误 : not found: python2

转载 作者:行者123 更新时间:2023-12-05 05:45:57 25 4
gpt4 key购买 nike

在 Ubuntu 21.10 上,实际上没有安装 Python2.x,在大型项目上执行“npm install”时遇到以下错误(package.json 很大但是这两个行可能是相关的:

...
"devDependencies": {
...
"sass": "^1.46.0",
"sass-loader": "10.1.1",
...

)

$ npm install

npm ERR! code 1
npm ERR! git dep preparation failed
npm ERR! command /usr/bin/node /usr/lib/node_modules/npm/bin/npm-cli.js install --force --cache=/home/username/.npm --prefer-offline=false --prefer-online=false --offline=false --no-progress --no-save --no-audit --include=dev --include=peer --include=optional --no-package-lock-only --no-dry-run
npm ERR! npm WARN using --force Recommended protections disabled.
npm ERR! npm WARN old lockfile
npm ERR! npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm ERR! npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm ERR! npm WARN old lockfile
npm ERR! npm WARN old lockfile This is a one-time fix-up, please be patient...
npm ERR! npm WARN old lockfile
npm ERR! npm WARN deprecated <many many warnings...>
npm ERR! npm ERR! code 1
npm ERR! npm ERR! path /home/username/.npm/_cacache/tmp/git-clonebeOztg/node_modules/node-sass
npm ERR! npm ERR! command failed
npm ERR! npm ERR! command sh -c node scripts/build.js
npm ERR! npm ERR! Building: /usr/bin/node /home/username/.npm/_cacache/tmp/git-clonebeOztg/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
npm ERR! npm ERR! gyp info it worked if it ends with ok
npm ERR! npm ERR! gyp verb cli [
npm ERR! npm ERR! gyp verb cli '/usr/bin/node',
npm ERR! npm ERR! gyp verb cli '/home/username/.npm/_cacache/tmp/git-clonebeOztg/node_modules/node-gyp/bin/node-gyp.js',
npm ERR! npm ERR! gyp verb cli 'rebuild',
npm ERR! npm ERR! gyp verb cli '--verbose',
npm ERR! npm ERR! gyp verb cli '--libsass_ext=',
npm ERR! npm ERR! gyp verb cli '--libsass_cflags=',
npm ERR! npm ERR! gyp verb cli '--libsass_ldflags=',
npm ERR! npm ERR! gyp verb cli '--libsass_library='
npm ERR! npm ERR! gyp verb cli ]
npm ERR! npm ERR! gyp info using node-gyp@3.8.0
npm ERR! npm ERR! gyp info using node@16.14.0 | linux | x64
npm ERR! npm ERR! gyp verb command rebuild []
npm ERR! npm ERR! gyp verb command clean []
npm ERR! npm ERR! gyp verb clean removing "build" directory
npm ERR! npm ERR! gyp verb command configure []
npm ERR! npm ERR! gyp verb check python checking for Python executable "python2" in the PATH
npm ERR! npm ERR! gyp verb `which` failed Error: not found: python2
npm ERR! npm ERR! gyp verb `which` failed at getNotFoundError (/home/username/.npm/_cacache/tmp/git-clonebeOztg/node_modules/node-gyp/node_modules/which/which.js:13:12)
npm ERR! npm ERR! gyp verb `which` failed at F (/home/username/.npm/_cacache/tmp/git-clonebeOztg/node_modules/node-gyp/node_modules/which/which.js:68:19)
npm ERR! npm ERR! gyp verb `which` failed at E (/home/username/.npm/_cacache/tmp/git-clonebeOztg/node_modules/node-gyp/node_modules/which/which.js:80:29)
npm ERR! npm ERR! gyp verb `which` failed at /home/username/.npm/_cacache/tmp/git-clonebeOztg/node_modules/node-gyp/node_modules/which/which.js:89:16
npm ERR! npm ERR! gyp verb `which` failed at /home/username/.npm/_cacache/tmp/git-clonebeOztg/node_modules/isexe/index.js:42:5
npm ERR! npm ERR! gyp verb `which` failed at /home/username/.npm/_cacache/tmp/git-clonebeOztg/node_modules/isexe/mode.js:8:5
npm ERR! npm ERR! gyp verb `which` failed at FSReqCallback.oncomplete (node:fs:198:21)
npm ERR! npm ERR! gyp verb `which` failed python2 Error: not found: python2
npm ERR! npm ERR! gyp verb `which` failed at getNotFoundError (/home/username/.npm/_cacache/tmp/git-clonebeOztg/node_modules/node-gyp/node_modules/which/which.js:13:12)
npm ERR! npm ERR! gyp verb `which` failed at F (/home/username/.npm/_cacache/tmp/git-clonebeOztg/node_modules/node-gyp/node_modules/which/which.js:68:19)
npm ERR! npm ERR! gyp verb `which` failed at E (/home/username/.npm/_cacache/tmp/git-clonebeOztg/node_modules/node-gyp/node_modules/which/which.js:80:29)
npm ERR! npm ERR! gyp verb `which` failed at /home/username/.npm/_cacache/tmp/git-clonebeOztg/node_modules/node-gyp/node_modules/which/which.js:89:16
npm ERR! npm ERR! gyp verb `which` failed at /home/username/.npm/_cacache/tmp/git-clonebeOztg/node_modules/isexe/index.js:42:5
npm ERR! npm ERR! gyp verb `which` failed at /home/username/.npm/_cacache/tmp/git-clonebeOztg/node_modules/isexe/mode.js:8:5
npm ERR! npm ERR! gyp verb `which` failed at FSReqCallback.oncomplete (node:fs:198:21) {
npm ERR! npm ERR! gyp verb `which` failed code: 'ENOENT'
npm ERR! npm ERR! gyp verb `which` failed }
npm ERR! npm ERR! gyp verb check python checking for Python executable "python" in the PATH
npm ERR! npm ERR! gyp verb `which` succeeded python /usr/bin/python
npm ERR! npm ERR! gyp ERR! configure error
npm ERR! npm ERR! gyp ERR! stack Error: Command failed: /usr/bin/python -c import sys; print "%s.%s.%s" % sys.version_info[:3];
npm ERR! npm ERR! gyp ERR! stack File "<string>", line 1
npm ERR! npm ERR! gyp ERR! stack import sys; print "%s.%s.%s" % sys.version_info[:3];
npm ERR! npm ERR! gyp ERR! stack ^
npm ERR! npm ERR! gyp ERR! stack SyntaxError: invalid syntax
npm ERR! npm ERR! gyp ERR! stack
npm ERR! npm ERR! gyp ERR! stack at ChildProcess.exithandler (node:child_process:399:12)
npm ERR! npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:520:28)
npm ERR! npm ERR! gyp ERR! stack at maybeClose (node:internal/child_process:1092:16)
npm ERR! npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:302:5)
npm ERR! npm ERR! gyp ERR! System Linux 5.15.0-18-generic
npm ERR! npm ERR! gyp ERR! command "/usr/bin/node" "/home/username/.npm/_cacache/tmp/git-clonebeOztg/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! npm ERR! gyp ERR! cwd /home/username/.npm/_cacache/tmp/git-clonebeOztg/node_modules/node-sass
npm ERR! npm ERR! gyp ERR! node -v v16.14.0
npm ERR! npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! npm ERR! gyp ERR! not ok
npm ERR! npm ERR! Build failed with error code: 1

特别是,这一行不是有效的 Python3.x 语法:import sys;打印 "%s.%s.%s"% sys.version_info[:3]; 所以即使伪造一个名为“python”或“python2”的符号链接(symbolic link)指向 -> '系统上的/usr/bin/python3.9' 自然无济于事。

npm cache clean --force 也无济于事。

系统信息:

$ npm --version
8.3.1
$ node --version
v16.14.0
$ uname -mor
5.15.0-18-generic x86_64 GNU/Linux

关于如何修复此错误的任何提示?

最佳答案

我遇到过类似的问题,根本没有安装 Payton 就解决了。可能这种方式对你有帮助。

sass-loader 要求您安装 Dart SassNode-Sass .我用了Node-Sass ,并在启动前手动安装 npm install .

因此我的步骤:

  1. 删除 Node 模块
  2. 删除 package-lock.json
  3. npm 安装 node-sass@
  4. npm 安装

考虑两点:

  • node-sass 版本必须与 Node.js 版本相对应。下面是一个quick guide对于 node-sass 的最小和最大支持版本:

    <表类="s-表"><头>Node.js支持的node-sass版本 Node 模块<正文> Node 166.0+93 Node 155.0+88 Node 144.14+83 Node 134.13+, <5.079 Node 124.12+72 Node 114.10+, <5.067 Node 104.9+, <6.064 Node 84.5.3+, <5.057 Node <8<5.0<57
  • 目前 Node Sass 已被弃用,因此我建议使用 Dart Sass .

值得一提的是,快速更改 nodejs 版本的简单方法是使用 nvm

关于node.js - npm 安装 npm 错误! gyp 动词 `which` 失败错误 : not found: python2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71256989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com