尝试克隆项目并使用 React 和 sass 执行 "npm install" 时出现问题

Issue trying to clone a project and do "npm install" with react and sass

我从 github 克隆了一个项目,并试图在该项目的目录中安装 npm,但出现错误。 我安装了 nodejs、npm 和 visual studio 代码,然后卸载并重新安装以进行升级。 我现在使用的版本是: node.js v16.13.2 npm v8.3.2 VScode 2017

然后我克隆项目,当我尝试执行“npm install”时:

npm ERR! path C:\Users\crist\Documents\project\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\crist\Documents\project\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\crist\Documents\project\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.13.2 | 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 "C:\Users\crist\.windows-build-tools\python27\python.exe" in the PATH
npm ERR! gyp verb `which` succeeded C:\Users\crist\.windows-build-tools\python27\python.exe C:\Users\crist\.windows-build-tools\python27\python.exe
npm ERR! gyp verb check python version `C:\Users\crist\.windows-build-tools\python27\python.exe -c "import sys; print "2.7.15
npm ERR! gyp verb check python version .%s.%s" % sys.version_info[:3];"` returned: %j
npm ERR! gyp verb get node dir no --target version specified, falling back to host node version: 16.13.2
npm ERR! gyp verb command install [ '16.13.2' ]
npm ERR! gyp verb install input version string "16.13.2"
npm ERR! gyp verb install installing version: 16.13.2
npm ERR! gyp verb install --ensure was passed, so won't reinstall if already installed
npm ERR! gyp verb install version is already installed, need to check "installVersion"
npm ERR! gyp verb got "installVersion" 9
npm ERR! gyp verb needs "installVersion" 9
npm ERR! gyp verb install version is good
npm ERR! gyp verb get node dir target node version installed: 16.13.2
npm ERR! gyp verb build dir attempting to create "build" dir: C:\Users\crist\Documents\project\node_modules\node-sass\build
npm ERR! gyp verb build dir "build" dir needed to be created? C:\Users\crist\Documents\project\node_modules\node-sass\build
npm ERR! gyp verb build/config.gypi creating config file
npm ERR! gyp verb build/config.gypi writing out config file: C:\Users\crist\Documents\project\node_modules\node-sass\build\config.gypi
npm ERR! (node:23160) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.
npm ERR! (Use `node --trace-deprecation ...` to show where the warning was created)
npm ERR! gyp verb config.gypi checking for gypi file: C:\Users\crist\Documents\project\node_modules\node-sass\config.gypi
npm ERR! gyp verb common.gypi checking for gypi file: C:\Users\crist\Documents\project\node_modules\node-sass\common.gypi
npm ERR! gyp verb gyp gyp format was not specified; forcing "msvs"
npm ERR! gyp info spawn C:\Users\crist\.windows-build-tools\python27\python.exe
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   'C:\Users\crist\Documents\project\node_modules\node-gyp\gyp\gyp_main.py',
npm ERR! gyp info spawn args   'binding.gyp',
npm ERR! gyp info spawn args   '-f',
npm ERR! gyp info spawn args   'msvs',
npm ERR! gyp info spawn args   '-G',
npm ERR! gyp info spawn args   'msvs_version=2019',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'C:\Users\crist\Documents\project\node_modules\node-sass\build\config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'C:\Users\crist\Documents\project\node_modules\node-gyp\addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   'C:\Users\crist\.node-gyp\16.13.2\include\node\common.gypi',
npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=C:\Users\crist\.node-gyp\16.13.2',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=C:\Users\crist\Documents\project\node_modules\node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=C:\Users\crist\.node-gyp\16.13.2\<(target_arch)\node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=C:\Users\crist\Documents\project\node_modules\node-sass',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'C:\Users\crist\Documents\project\node_modules\node-sass\build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! Traceback (most recent call last):
npm ERR!   File "C:\Users\crist\Documents\project\node_modules\node-gyp\gyp\gyp_main.py", line 16, in <module>
npm ERR!     sys.exit(gyp.script_main())
npm ERR!   File "C:\Users\crist\Documents\project\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 545, in script_main
npm ERR!     return main(sys.argv[1:])
npm ERR!   File "C:\Users\crist\Documents\project\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 538, in main
npm ERR!     return gyp_main(args)
npm ERR!   File "C:\Users\crist\Documents\project\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 514, in gyp_main
npm ERR!     options.duplicate_basename_check)
npm ERR!   File "C:\Users\crist\Documents\project\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 98, in Load
npm ERR!     generator.CalculateVariables(default_variables, params)
npm ERR!   File "C:\Users\crist\Documents\project\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", line 1916, in CalculateVariables
npm ERR!     generator_flags.get('msvs_version', 'auto'))
npm ERR!   File "C:\Users\crist\Documents\project\node_modules\node-gyp\gyp\pylib\gyp\MSVSVersion.py", line 434, in SelectVisualStudioVersion
npm ERR!     versions = _DetectVisualStudioVersions(version_map[version], 'e' in version)
npm ERR! KeyError: '2019'
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: `gyp` failed with exit code: 1
npm ERR! gyp ERR! stack     at ChildProcess.onCpExit (C:\Users\crist\Documents\project\node_modules\node-gyp\lib\configure.js:345:16)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:390:28)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
npm ERR! gyp ERR! System Windows_NT 10.0.19043
npm ERR! gyp ERR! command "C:\Program Files\nodejs\node.exe" "C:\Users\crist\Documents\project\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\crist\Documents\project\node_modules\node-sass
npm ERR! gyp ERR! node -v v16.13.2
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\crist\AppData\Local\npm-cache\_logs22-01-23T23_41_36_294Z-debug-0.log```

Anyone had this problem or know how to fix it?

您需要检查您机器上安装的节点版本是否与项目中安装的node-sass版本兼容。

在您的终端中执行 node -v 检查您的节点版本并查看 package.json 文件中克隆项目的 node-sass 版本。有关 node-sass 版本与节点版本兼容的更多信息,请查看以下答案。

检查这个答案

尝试这三种解决方案:

  1. 第一种方法:如果您已经安装 node-sass 然后卸载它:- npm 卸载 node-sass

    然后在进程安装后 sass :- npm i -D sass

  2. 第二种方法:请检查您的节点版本,如果它旧则报错 并使用最新的 LTS 版本重新安装节点 https://nodejs.org/en/

  3. 第三种方法:- 如果不能在 16 或 LTS 版本上工作,请安装节点版本 12。

注意:安装节点 i 后重新启动您的代码编辑器 sass(这不是强制性的,但有时代码编辑器会阻止该过程)。

检查节点版本类型:- node -v