安装 node-sass 提示 Visual C++ 组件问题
还原项目
使用 git checkout .
, git clean -xdf
清空工作目录
还原最原始的空间
执行安装
npm install
出现下列错误
gyp info spawn C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args '/nologo',
gyp info spawn args '/p:Configuration=Release;Platform=x64' ]
Build started 2017/4/15 11:57:06.
Project "E:\kibana\node_modules\node-sass\build\binding.sln" on node 1 (default
targets).
ValidateSolutionConfiguration:
Building solution configuration "Release|x64".
MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,
1) 安装 .NET Fram
ework 2.0 SDK;2) 安装 Microsoft Visual Studio 2005;或 3) 如果将该组件安装到了
其他位置,请将其位置添加到系统
路径中。 [E:\kibana\node_modules\node-sass\build\binding.sln]
Done Building Project "E:\kibana\node_modules\node-sass\build\binding.sln" (def
ault targets) -- FAILED.
解决安装跨平台编译器
这个解决办法是在官方文档中写明的
另一个官方解决办法是安装 Visual Studio SDK
执行这行命令必须使用管理员权限运行的cmd,或者 PowerShell
npm install --global --production windows-build-tools
再执行,如果还出现下列的错误
gyp verb build type Release
gyp verb architecture x64
gyp verb node dev dir C:\Users\Administrator\.node-gyp\10.1.0
gyp verb found first Solution file build/binding.sln
gyp verb could not find "msbuild.exe" in PATH - finding location in registry
gyp info spawn C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args '/nologo',
gyp info spawn args '/p:Configuration=Release;Platform=x64' ]
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
Build started 2018/6/6 15:52:53.
Project "E:\web_hwf\Vue\02app\node_modules\node-sass\build\binding.sln" on node 1 (default targets).
ValidateSolutionConfiguration:
Building solution configuration "Release|x64".
则执行 npm uninstall node-sass
然后重新安装 npm install node-sass
如果依旧出现问题,建议使用
npm cache clean --force
清理缓存后安装
本次解决方法
这次问题解决的命令执行顺序为
清空工作目录
git checkout .
git clean -xdf
npm cache clean --force
清理工作空间
安装最新 node-sass
npm install node-sass
npm install
安装
出错后执行
注意需要管理员权限运行的 cmd 执行才行
npm install --global --production windows-build-tools
然后可以运行
node run dev
原因分析
直接使用 npm install
无法安装,而只能分成两步安装
先 npm install node-sass
后再 npm install
推测原因是 node-sass
和 nodejs
版本不匹配导致的,
因为先执行 node-sass
安装是安装的最新版本,而 npm install
是安装指定版本的
例如此次执行 npm install node-sass
安装的版本是 v4.13.0
项目 packages.json
中指定的 node-sass
版本是 v4.11.0
版本,nodejs
版本是 v12.xx.xx
版本
所以出现错误
验证推测结果
-
将
nodejs
版本降级为v10.xx.xx
-
清空所有文件
-
执行
npm install
结果:正常安装
最新版本的 nodejs
要匹配最新版 node-sass
,否则两者都只能使用旧版
写于: 2019-10-26
可能随着时间推移,版本更新后,不会出现这种问题