如何解决 npm 安装错误“npm ERR!代码 1” 从 github 克隆 React 应用程序

How to solve npm install error “npm ERR! code 1” cloning react app from github

我从 github 克隆了一个 React 应用程序,当我 运行 npm install 我得到以下信息:

npm ERR! path C:\Users\***\Documents\GitHub\MY_CODE\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\***\Documents\GitHub\MY_CODE\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\***\Documents\GitHub\MY_CODE\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.6.1 | 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\***\Documents\GitHub\MY_CODE\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\***\Documents\GitHub\MY_CODE\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\***\Documents\GitHub\MY_CODE\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\***\Documents\GitHub\MY_CODE\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at C:\Users\***\Documents\GitHub\MY_CODE\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\***\Documents\GitHub\MY_CODE\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:195:21)
npm ERR! gyp verb `which` failed  python2 Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\Users\***\Documents\GitHub\MY_CODE\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\***\Documents\GitHub\MY_CODE\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\***\Documents\GitHub\MY_CODE\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\***\Documents\GitHub\MY_CODE\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at C:\Users\***\Documents\GitHub\MY_CODE\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\***\Documents\GitHub\MY_CODE\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:195: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:\Python39\python.EXE
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Command failed: C:\Python39\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: invalid syntax
npm ERR! gyp ERR! stack
npm ERR! gyp ERR! stack     at ChildProcess.exithandler (node:child_process:397:12)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:394:28)
npm ERR! gyp ERR! stack     at maybeClose (node:internal/child_process:1067:16)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)
npm ERR! gyp ERR! System Windows_NT 10.0.19042
"--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd C:\Users\****\Documents\GitHub\MY_CODE\node_modules\node-sass
npm ERR! gyp ERR! node -v v16.6.1
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 安装失败?看来我必须更新一些组件,也许python。如果是这样,我该怎么做?我想达到可以 运行 npm 顺利启动的地步。

几周前我遇到了同样的问题。 删除包-lock.json 或 yarn.lock 并安装稳定的节点 v14 应该可以解决这个问题。