最近拿到一个新项目,npm i 的时候,node-sass没有下下来,后面单独下载 npm i node-sass
然后依然报错
在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。
生成启动时间为 2023/9/7 18:41:58。
节点 1 上的项目“E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\binding.sln”(默认目标)。
ValidateSolutionConfiguration:
正在生成解决方案配置“Release|x64”。
项目“E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\binding.sln”(1)正在节点 1 上生成“E:\work\rules-fe\lis-rule-ui\node_module
s\node-sass\build\binding.vcxproj.metaproj”(2) (默认目标)。
项目“E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\binding.vcxproj.metaproj”(2)正在节点 1 上生成“E:\work\rules-fe\lis-rule-u
i\node_modules\node-sass\build\src\libsass.vcxproj”(3) (默认目标)。
E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\src\libsass.vcxproj(20,3): error MSB4019: 未找到导入的项目“E:\Microsoft.Cpp.D
efault.props”。请确认 <Import> 声明中的路径正确,且磁盘上存在该文件。
已完成生成项目“E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\src\libsass.vcxproj”(默认目标)的操作 - 失败。已完成生成项目“E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\binding.vcxproj.metaproj”(默认目标)的操作 - 失败。
已完成生成项目“E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\binding.sln”(默认目标)的操作 - 失败。
生成失败。“E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\binding.sln”(默认目标) (1) ->
“E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\binding.vcxproj.metaproj”(默认目标) (2) ->
“E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\src\libsass.vcxproj”(默认目标) (3) ->
E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\src\libsass.vcxproj(20,3): error MSB4019: 未找到导入的项目“E:\Microsoft.Cpp
.Default.props”。请确认 <Import> 声明中的路径正确,且磁盘上存在该文件。0 个警告
1 个错误已用时间 00:00:00.79
gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (E:\work\rules-fe\lis-rule-ui\node_modules\node-gyp\lib\build.js:262:23)
gyp ERR! stack at ChildProcess.emit (events.js:315:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Windows_NT 10.0.19045
gyp ERR! comma
等一大串报错。。。
然后尝试了各种解决方案,例如删除 node_modules 包重新下载、清除 npm 缓存、切换镜像源等等
都没有解决。。。
好吧,然后打开了 gitHub https://github.com/sass/node-sass
找到了对应的 node 版本
由于项目中使用的是 node-sass@4.9.0
而我用的 node 是最新版。。
虽然是很初级的问题,但由于是第一次遇到 node-sass,并且报错中没有提到任何版本相关的词语
so~
切换了对应的 node@10 版本后终于解决!