node-sass报错
解决方案
有几种解决方案,但感觉都是为了下载vsta_sdk
这个工具的。
有的电脑下载C++开发程序时可以顺带下载这个插件。
可以直接下载VS之后点击下载C++桌面开发,但是有的不行,所以网上也就有另外一种方式,就是下载VS build
工具也就是这个vs_BuildTools
。
也有去GitHub去看官方的,https://github.com/nodejs/node-gyp#on-windows
下载C++工具。
我是试了前面三个都不行,之后下载Microsoft Visual Studio Tools for Applications
才解决。
下面推荐四种解决方式。
npm ERR! code 1
npm ERR! command failed
npm ERR! command C:\Windows\system32\cmd.exe /d /s /c node scripts/build.js
npm ERR! Testing binary
npm ERR! at Module._extensions..node (node:internal/modules/cjs/loader:1464:18)
npm ERR! at Module.load (node:internal/modules/cjs/loader:1205:32)
npm ERR! at Module._load (node:internal/modules/cjs/loader:1021:12)
npm ERR! at Module.require (node:internal/modules/cjs/loader:1230:19)
npm ERR! at require (node:internal/modules/helpers:179:18)
npm ERR! at module.exports
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp verb cli [
npm ERR! gyp verb cli 'D:\\software\\nodejs\\node.exe',
npm ERR! gyp verb cli
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@8.4.1
npm ERR! gyp info using node@21.7.3 | 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 find Python Python is not set from command line or npm configuration
npm ERR! gyp verb find Python Python is not set from environment variable PYTHON
npm ERR! gyp verb find Python checking if "python3" can be used
npm ERR! gyp verb find Python - executing "python3" to get executable path
npm ERR! gyp verb find Python - "python3" is not in PATH or produced an error
npm ERR! gyp verb find Python checking if "python" can be used
npm ERR! gyp verb find Python - executing "python" to get executable path
npm ERR! gyp verb find Python - executable path is "D:\software\Python312\python.exe"
npm ERR! gyp verb find Python - executing "D:\software\Python312\python.exe" to get version
npm ERR! gyp verb find Python - version is "3.12.3"
npm ERR! gyp info find Python using Python version 3.12.3 found at "D:\software\Python312\python.exe"
npm ERR! gyp verb get node dir no --target version specified, falling back to host node version: 21.7.3
npm ERR! gyp verb command install [ '21.7.3' ]
npm ERR! gyp verb install input version string "21.7.3"
npm ERR! gyp verb install installing version: 21.7.3
npm ERR! gyp verb install --ensure was passed, so won't reinstall if already installed
npm ERR! gyp verb install version is already installed, need to check "installVersion"
npm ERR! gyp verb got "installVersion" 9
npm ERR! gyp verb needs "installVersion" 9
npm ERR! gyp verb install version is good
npm ERR! gyp verb get node dir target node version installed: 21.7.3
npm ERR! gyp verb build dir "build" dir needed to be created? Yes
npm ERR! gyp verb find VS msvs_version not set from command line or npm config
npm ERR! gyp verb find VS VCINSTALLDIR not set, not running in VS Command Prompt
npm ERR! gyp verb find VS checking VS2022 (17.9.34728.123) found at:
npm ERR! gyp verb find VS "D:\software\Microsoft\VisualStudio\Community"
npm ERR! gyp verb find VS - found "Visual Studio C++ core features"
npm ERR! gyp verb find VS - missing any VC++ toolset
npm ERR! gyp verb find VS could not find a version of Visual Studio 2017 or newer to use
npm ERR! gyp verb find VS looking for Visual Studio 2015
npm ERR! gyp verb find VS - not found
npm ERR! gyp verb find VS not looking for VS2013 as it is only supported up to Node.js 8
npm ERR! gyp ERR! find VS
npm ERR! gyp ERR! find VS msvs_version not set from command line or npm config
npm ERR! gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt
npm ERR! gyp ERR! find VS checking VS2022 (17.9.34728.123) found at:
npm ERR! gyp ERR! find VS "D:\software\Microsoft\VisualStudio\Community"
npm ERR! gyp ERR! find VS - found "Visual Studio C++ core features"
npm ERR! gyp ERR! find VS - missing any VC++ toolset
npm ERR! gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use
npm ERR! gyp ERR! find VS looking for Visual Studio 2015
npm ERR! gyp ERR! find VS - not found
npm ERR! gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
npm ERR! gyp ERR! find VS
npm ERR! gyp ERR! find VS **************************************************************
npm ERR! gyp ERR! find VS You need to install the latest version of Visual Studio
npm ERR! gyp ERR! find VS including the "Desktop development with C++" workload.
npm ERR! gyp ERR! find VS For more information consult the documentation at:
npm ERR! gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
npm ERR! gyp ERR! find VS **************************************************************
npm ERR! gyp ERR! find VS
npm ERR! gyp ERR! configure error
管理nodejs版本工具
下载nvm:https://github.com/coreybutler/nvm-windows/releases
查看源码:https://github.com/nvm-sh/nvm
最终解决方案
网络搜索Microsoft Visual Studio Tools for Applications 2019
或者Microsoft Visual Studio Tools for Applications 2017
。
我试过2019版本和2017版本,之后将node调成16.20.2
,并将Python改为最新我的Python版本为3.12.2
。之后就可以了。
环境要求:
- node:16.20.2
- python:3.12.2
- 微软
Microsoft Visual Studio Tools for Applications
2019版本下载:Microsoft Visual Studio Tools for Applications 2019
2017版本下载:Microsoft Visual Studio Tools for Applications 2017
点击下载即可。
解决方案一
下载VS之后选择C++桌面开发。
- node:16.20.2
- python:3.12.2和Python27
解决方案二
- node:16.20.2
- python:3.12.2和Python27
- 下载VS Build工具
VS编译工具下载地址:https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/
在应用中可以找到这个生成工具。
解决方案三
官方的,但是是解决node-gyp。
地址:https://github.com/nodejs/node-gyp#on-windows
针对Windows和其它操作系统,有兴趣了解下。