You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SPFx开发环境npm install执行失败求助

修复SPFx开发环境node-sass构建失败问题

问题背景

在未配置过SharePoint Framework(SPFx)开发环境的新电脑上,克隆代码后执行npm install时遭遇node-sass构建失败:node-gyp@3.8.0无法找到Python2,系统中已安装的Python3.11因语法兼容问题(print语句缺少括号)导致配置错误。

错误日志

npm ERR! code 1
npm ERR! path C:\Users\ls2527\OneDrive - SIMR\Desktop\helixpublicationsv2\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\ls2527\OneDrive - Stowers Institute for Medical Research\Desktop\helixpublicationsv2\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\\ls2527\\OneDrive - SIMR\\Desktop\\helixpublicationsv2\\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@18.14.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 "python2" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\Users\ls2527\OneDrive - SIMR\Desktop\helixpublicationsv2\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\ls2527\OneDrive - SIMR\Desktop\helixpublicationsv2\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\ls2527\OneDrive - SIMR\Desktop\helixpublicationsv2\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\ls2527\OneDrive - SIMR\Desktop\helixpublicationsv2\node_modules\which\which.js:89:16)
npm ERR! gyp verb `which` failed     at C:\Users\ls2527\OneDrive - SIMR\Desktop\helixpublicationsv2\node_modules\isexe\index.js:42:5)
npm ERR! gyp verb `which` failed     at C:\Users\ls2527\OneDrive - SIMR\Desktop\helixpublicationsv2\node_modules\isexe\windows.js:36:5)
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:207:21)
npm ERR! gyp verb `which` failed  python2 Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\Users\ls2527\OneDrive - SIMR\Desktop\helixpublicationsv2\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\ls2527\OneDrive - SIMR\Desktop\helixpublicationsv2\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\ls2527\OneDrive - SIMR\Desktop\helixpublicationsv2\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\ls2527\OneDrive - SIMR\Desktop\helixpublicationsv2\node_modules\which\which.js:89:16)
npm ERR! gyp verb `which` failed     at C:\Users\ls2527\OneDrive - SIMR\Desktop\helixpublicationsv2\node_modules\isexe\index.js:42:5)
npm ERR! gyp verb `which` failed     at C:\Users\ls2527\OneDrive - SIMR\Desktop\helixpublicationsv2\node_modules\isexe\windows.js:36:5)
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:207: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:\Python311\python.EXE
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Command failed: C:\Python311\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: Missing parentheses in call to 'print'. Did you mean print(...)?
npm ERR! gyp ERR! stack
npm ERR! gyp ERR! stack     at ChildProcess.exithandler (node:child_process:419:12)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:513:28)
npm ERR! gyp ERR! stack     at maybeClose (node:internal/child_process:1091:16)
npm ERR! gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:302:5)
npm ERR! gyp ERR! System Windows_NT 10.0.22621
npm ERR! gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\ls2527\\OneDrive - SIMR\\Desktop\\helixpublicationsv2\\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\ls2527\OneDrive - SIMR\Desktop\helixpublicationsv2\node_modules\node-sass
npm ERR! gyp ERR! node -v v18.14.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\ls2527\AppData\Local\npm-cache\_logs\2023-03-03T22_36_29_981Z-debug-0.log

解决方案

方案一:安装Python 2.7并配置环境变量

  • 下载Python 2.7版本,安装时勾选「Add Python to PATH」选项。
  • 若安装时未勾选,手动将Python 2.7的安装路径(如C:\Python27)添加到系统环境变量PATH中。
  • 打开新的命令提示符,执行python --version确认显示Python 2.7.x版本。
  • 重新执行npm install。

方案二:通过npm配置指定Python版本

  • 打开命令提示符,执行以下命令指定node-gyp使用的Python路径:
    npm config set python C:\Python27\python.exe
    
  • 重新执行npm install。

方案三:升级node-gyp版本(推荐,摆脱Python2依赖)

  • 删除项目下的node_modules文件夹和package-lock.json文件。
  • 执行命令更新全局node-gyp:
    npm install -g node-gyp@latest
    
  • 重新执行npm install。

方案四:替换node-sass为dart-sass(长期解决方案)

  • 卸载项目中的node-sass:
    npm uninstall node-sass
    
  • 安装dart-sass:
    npm install sass --save-dev
    
  • 修改项目中所有引用node-sass的配置(如webpack配置、gulp任务等),替换为sass。
  • 重新执行npm install。

内容的提问来源于stack exchange,提问作者Lindsay Shelton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 00:09:56