版本适配问题:node-sass与nodejs的版本不对应。
版本对应列表:
| NodeJS | Supported node-sass version | Node Module | |---------|-----------------------------|-------------| | Node 16 | 6.0+ | 93 | | Node 15 | 5.0+ | 88 | | Node 14 | 4.14+ | 83 | | Node 13 | 4.13+, <5.0 | 79 | | Node 12 | 4.12+ | 72 | | Node 11 | 4.10+, <5.0 | 67 | | Node 10 | 4.9+, <6.0 | 64 | | Node 8 | 4.5.3+, <5.0 | 57 | | Node <8 | <5.0 | <57 |
报错示范:
npm ERR! code 1
npm ERR! path D:\项目文件\link-front\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: E:\Program Files\nodejs\node.exe D:\项目文件\link-front\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 'E:\\Program Files\\nodejs\\node.exe',
npm ERR! gyp verb cli 'D:\\项目文件\\link-front\\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.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 download using dist-url https://npm.taobao.org/dist
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 (D:\项目文件\link-front\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed at F (D:\项目文件\link-front\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed at E (D:\项目文件\link-front\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed at D:\项目文件\link-front\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed at D:\项目文件\link-front\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed at D:\项目文件\link-front\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed at FSReqCallback.oncomplete (node:fs:198:21)
npm ERR! gyp verb `which` failed python2 Error: not found: python2
npm ERR! gyp verb `which` failed at getNotFoundError (D:\项目文件\link-front\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed at F (D:\项目文件\link-front\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed at E (D:\项目文件\link-front\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed at D:\项目文件\link-front\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed at D:\项目文件\link-front\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed at D:\项目文件\link-front\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed at FSReqCallback.oncomplete (node:fs:198: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` failed Error: not found: python
npm ERR! gyp verb `which` failed at getNotFoundError (D:\项目文件\link-front\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed at F (D:\项目文件\link-front\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed at E (D:\项目文件\link-front\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed at D:\项目文件\link-front\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed at D:\项目文件\link-front\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed at D:\项目文件\link-front\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed at FSReqCallback.oncomplete (node:fs:198:21)
npm ERR! gyp verb `which` failed python Error: not found: python
npm ERR! gyp verb `which` failed at getNotFoundError (D:\项目文件\link-front\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed at F (D:\项目文件\link-front\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed at E (D:\项目文件\link-front\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed at D:\项目文件\link-front\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed at D:\项目文件\link-front\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed at D:\项目文件\link-front\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed at FSReqCallback.oncomplete (node:fs:198:21) {
npm ERR! gyp verb `which` failed code: 'ENOENT'
npm ERR! gyp verb `which` failed }
npm ERR! gyp verb could not find "python". checking python launcher
npm ERR! gyp verb could not find "python". guessing location
npm ERR! gyp verb ensuring that file exists: C:\Python27\python.exe
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
npm ERR! gyp ERR! stack at PythonFinder.failNoPython (D:\项目文件\link-front\node_modules\node-gyp\lib\configure.js:484:19)npm ERR! gyp ERR! stack at PythonFinder.<anonymous> (D:\项目文件\link-front\node_modules\node-gyp\lib\configure.js:509:16)
npm ERR! gyp ERR! stack at callback (D:\项目文件\link-front\node_modules\graceful-fs\polyfills.js:306:20)
npm ERR! gyp ERR! stack at FSReqCallback.oncomplete (node:fs:198:21)
npm ERR! gyp ERR! command "E:\\Program Files\\nodejs\\node.exe" "D:\\项目文件\\link-front\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_code_modules\\node-gyp\\bin\\node-gyflags=" "--libsass_ldflags=" "--libsass_library=" sass_library="
npm ERR! gyp ERR! cwd D:\项目文件\link-front\node_modules\node-sass
npm ERR! gyp ERR! node -v v16.13.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 i node-sass@6.0.1