SPFx gulp 构建失败 - 与 node-sass 相关

问题描述 投票:0回答:2

我已经几个月没有使用 SPFx 项目了。当我现在尝试构建时,出现以下 node-sass 错误。我不记得对我的环境做过任何改变。我尝试将 Node 降级到 14、删除 package-lock.json 并重新安装所有 Node 模块,但没有成功。有人能解决这个问题吗?

npm ERR! code 1
npm ERR! path C:\Users\jeff\source\atsautomation\InitiationForm\node_modules\@microsoft\gulp-core-build-sass\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\jeff\source\atsautomation\InitiationForm\node_modules\@microsoft\gulp-core-build-sass\node_m
odules\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\\jeff\\source\\atsautomation\\InitiationForm\\node_modules\\@microsoft\\gulp-core-build-sass\\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 [email protected]
npm ERR! gyp info using [email protected] | 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\jeff\source\atsautomation\InitiationForm\node_modules\@microsoft\gulp-core-build-sass\
node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\jeff\source\atsautomation\InitiationForm\node_modules\@microsoft\gulp-core-build-sass\node_modules\wh
ich\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\jeff\source\atsautomation\InitiationForm\node_modules\@microsoft\gulp-core-build-sass\node_modules\wh
ich\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\jeff\source\atsautomation\InitiationForm\node_modules\@microsoft\gulp-core-build-sass\node_modules\which
\which.js:89:16
npm ERR! gyp verb `which` failed     at C:\Users\jeff\source\atsautomation\InitiationForm\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\jeff\source\atsautomation\InitiationForm\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (fs.js:183:21)
npm ERR! gyp verb `which` failed  python2 Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\Users\jeff\source\atsautomation\InitiationForm\node_modules\@microsoft\gulp-core-build-sass\
node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\jeff\source\atsautomation\InitiationForm\node_modules\@microsoft\gulp-core-build-sass\node_modules\wh
ich\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\jeff\source\atsautomation\InitiationForm\node_modules\@microsoft\gulp-core-build-sass\node_modules\wh
ich\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\jeff\source\atsautomation\InitiationForm\node_modules\@microsoft\gulp-core-build-sass\node_modules\which
\which.js:89:16
npm ERR! gyp verb `which` failed     at C:\Users\jeff\source\atsautomation\InitiationForm\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\jeff\source\atsautomation\InitiationForm\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (fs.js:183: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:\Program Files\Inkscape\bin\python.EXE
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Command failed: C:\Program Files\Inkscape\bin\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 (child_process.js:308:12)
npm ERR! gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
npm ERR! gyp ERR! stack     at maybeClose (internal/child_process.js:1048:16)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
npm ERR! gyp ERR! System Windows_NT 10.0.19042
npm ERR! gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\jeff\\source\\atsautomation\\InitiationForm\\node_modules\\@microsoft\\gulp-c
ore-build-sass\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_libr
ary="
npm ERR! gyp ERR! cwd C:\Users\jeff\source\atsautomation\InitiationForm\node_modules\@microsoft\gulp-core-build-sass\node_modules\node-sass
npm ERR! gyp ERR! node -v v14.15.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok
npm ERR! Build failed with error code: 1
node.js visual-studio-code node-sass spfx
2个回答
0
投票

首先,node-sass 已被弃用:

npm -g uninstall node-sass
npm install sass

您还需要安装 gulp-cli、yo 和 microsoft/generator-sharepoint:

gulp-cli yo @microsoft/generator-sharepoint --global

最后一件事,您需要做,但这次是在 POWERSHELL 中,在项目文件夹中

gulp trust-dev-cert

0
投票

我的 1.13.0 版本和节点版本的 spfx 项目也面临与 16.19.0 相同的问题。

我可以知道解决办法吗

© www.soinside.com 2019 - 2024. All rights reserved.