需求:项目重构,需要一套前端基础模板
想法:用vue-element-admin(我之前基于它做过一套基础架构)
按照正常流程npm install时出现问题,命令行直接报错:
...
gyp verb ensuring that file exists: C:\Python27\python.exe
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack at PythonFinder.failNoPython (D:\Coding\data-atm-front-end\vue-admin-template\node_modules\_node-gyp@3.8.0@node-gyp\lib\configure.js:484:19)
gyp ERR! stack at PythonFinder.<anonymous> (D:\Coding\data-atm-front-end\vue-admin-template\node_modules\_node-gyp@3.8.0@node-gyp\lib\configure.js:509:16)
gyp ERR! stack at callback (D:\Coding\data-atm-front-end\vue-admin-template\node_modules\_graceful-fs@4.2.8@graceful-fs\polyfills.js:299:20)
gyp ERR! stack at FSReqCallback.oncomplete (node:fs:198:21)
gyp ERR! System Windows_NT 10.0.19043
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "D:\\Coding\\data-atm-front-end\\vue-admin-template\\node_modules\\_node-gyp@3.8.0@node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd D:\Coding\data-atm-front-end\vue-admin-template\node_modules\_node-sass@4.14.1@node-sass
gyp ERR! node -v v16.13.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
Build failed with error code: 1
[npminstall:runscript:error] node-sass@4.14.1 scripts.postinstall run "node scripts/build.js" error: Error [RunScriptError]: Run "C:\windows\system32\cmd.exe /d /s /c node scripts/build.js" error, exit code 1
at ChildProcess.<anonymous> (C:\Users\zyk18802\AppData\Roaming\npm\node_modules\cnpm\node_modules\runscript\index.js:96:21)
at ChildProcess.emit (node:events:390:28)
at maybeClose (node:internal/child_process:1064:16)
at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5) {
stdio: [Object],
exitcode: 1
}
× Install fail! RunScriptError: post install error, please remove node_modules before retry!
.....
问题点:下载不了node-sass。
解决过程:找了各种方案,出现各种问题,大致经过了一下阶段
1、代码运行后解析不了scss文件原因—node-sass和sass-loader版本不匹配。
2、最终选择node-sass@4.14.1和sass-loader@7.1.0但是运行后又提示window 64-bit不支持
3、最终直接去看了sass-loader - npmhttps://www.npmjs.com/package/sass-loader 和node-sass - npmWrapper around libsasshttps://www.npmjs.com/package/node-sass sass-loader直接这样说
最终解决方案:用dart-sass替换了node-sass
具体做法,保留node-sass和sass-loader版本不变的情况再做以下两步操作:
第一步:命令行直接执行
$ npm install sass -D
第二步:
将项目中的/deep/改成::v-deep