一开始我尝试使用gulp-sass
安装npm i gulp-sass --save-dev
最新版本,但遇到了很多错误,但后来解决了。但是每当我尝试运行gulp时,都会出现此错误:
Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (88)
For more information on which environments are supported please see:
https://github.com/sass/node-sass/releases/tag/v4.14.1
at module.exports (C:\Users\user\Desktop\HPortf\node_modules\node-sass\lib\binding.js:13:13)
at Object.<anonymous> (C:\Users\user\Desktop\HPortf\node_modules\node-sass\lib\index.js:14:35)
at Module._compile (node:internal/modules/cjs/loader:1083:30)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1112:10)
at Module.load (node:internal/modules/cjs/loader:948:32)
at Function.Module._load (node:internal/modules/cjs/loader:789:14)
at Module.require (node:internal/modules/cjs/loader:972:19)
at require (node:internal/modules/cjs/helpers:88:18)
at Object.<anonymous> (C:\Users\user\Desktop\HPortf\node_modules\gulp-sass\index.js:166:21)
at Module._compile (node:internal/modules/cjs/loader:1083:30)
我尝试用npm rebuild node-sass --force
解决问题,但它也会引起错误。
PS C:\Users\user\Desktop\HPortf> npm rebuild node-sass --force
npm WARN using --force I sure hope you know what you are doing.
> node-sass@4.14.1 install C:\Users\user\Desktop\HPortf\node_modules\node-sass
> node scripts/install.js
Downloading binary from https://github.com/sass/node-sass/releases/download/v4.14.1/win32-x64-88_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v4.14.1/win32-x64-88_binding.node":
HTTP error 404 Not Found
Hint: If github.com is not accessible in your location
try setting a proxy via HTTP_PROXY, e.g.
export HTTP_PROXY=http://example.com:1234
or configure npm proxy via
npm config set proxy http://example.com:8080
> node-sass@4.14.1 postinstall C:\Users\user\Desktop\HPortf\node_modules\node-sass
> node scripts/build.js
Building: C:\Program Files\nodejs\node.exe C:\Users\user\Desktop\HPortf\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli 'C:\\Program Files\\nodejs\\node.exe',
gyp verb cli 'C:\\Users\\user\\Desktop\\HPortf\\node_modules\\node-gyp\\bin\\node-gyp.js',
gyp verb cli 'rebuild',
gyp verb cli '--verbose',
gyp verb cli '--libsass_ext=',
gyp verb cli '--libsass_cflags=',
gyp verb cli '--libsass_ldflags=',
gyp verb cli '--libsass_library='
gyp verb cli ]
gyp info using node-gyp@3.8.0
gyp info using node@15.0.1 | win32 | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2
gyp verb `which` failed at getNotFoundError (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:13:12)
gyp verb `which` failed at F (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:68:19)
gyp verb `which` failed at E (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:80:29)
gyp verb `which` failed at C:\Users\user\Desktop\HPortf\node_modules\which\which.js:89:16
gyp verb `which` failed at C:\Users\user\Desktop\HPortf\node_modules\isexe\index.js:42:5
gyp verb `which` failed at C:\Users\user\Desktop\HPortf\node_modules\isexe\windows.js:36:5
gyp verb `which` failed at FSReqCallback.oncomplete (node:fs:183:21)
gyp verb `which` failed python2 Error: not found: python2
gyp verb `which` failed at getNotFoundError (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:13:12)
gyp verb `which` failed at F (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:68:19)
gyp verb `which` failed at E (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:80:29)
gyp verb `which` failed at C:\Users\user\Desktop\HPortf\node_modules\which\which.js:89:16
gyp verb `which` failed at C:\Users\user\Desktop\HPortf\node_modules\isexe\index.js:42:5
gyp verb `which` failed at C:\Users\user\Desktop\HPortf\node_modules\isexe\windows.js:36:5
gyp verb `which` failed at FSReqCallback.oncomplete (node:fs:183:21) {
gyp verb `which` failed code: 'ENOENT'
gyp verb `which` failed }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` failed Error: not found: python
gyp verb `which` failed at getNotFoundError (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:13:12)
gyp verb `which` failed at F (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:68:19)
gyp verb `which` failed at E (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:80:29)
gyp verb `which` failed at C:\Users\user\Desktop\HPortf\node_modules\which\which.js:89:16
gyp verb `which` failed at C:\Users\user\Desktop\HPortf\node_modules\isexe\index.js:42:5
gyp verb `which` failed at C:\Users\user\Desktop\HPortf\node_modules\isexe\windows.js:36:5
gyp verb `which` failed at FSReqCallback.oncomplete (node:fs:183:21)
gyp verb `which` failed python Error: not found: python
gyp verb `which` failed at getNotFoundError (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:13:12)
gyp verb `which` failed at F (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:68:19)
gyp verb `which` failed at E (C:\Users\user\Desktop\HPortf\node_modules\which\which.js:80:29)
gyp verb `which` failed at C:\Users\user\Desktop\HPortf\node_modules\which\which.js:89:16
gyp verb `which` failed at C:\Users\user\Desktop\HPortf\node_modules\isexe\index.js:42:5
gyp verb `which` failed at C:\Users\user\Desktop\HPortf\node_modules\isexe\windows.js:36:5
gyp verb `which` failed at FSReqCallback.oncomplete (node:fs:183:21) {
gyp verb `which` failed code: 'ENOENT'
gyp verb `which` failed }
gyp verb could not find "python". checking python launcher
gyp verb could not find "python". guessing location
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 (C:\Users\user\Desktop\HPortf\node_modules\node-gyp\lib\configure.js:484:19)gyp ERR! stack at PythonFinder.<anonymous> (C:\Users\user\Desktop\HPortf\node_modules\node-gyp\lib\configure.js:509:16)
gyp ERR! stack at callback (C:\Users\user\Desktop\HPortf\node_modules\graceful-fs\polyfills.js:295:20)
gyp ERR! stack at FSReqCallback.oncomplete (node:fs:183:21)
gyp ERR! System Windows_NT 10.0.18362
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\user\\Desktop\\HPortf\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd C:\Users\user\Desktop\HPortf\node_modules\node-sass
gyp ERR! node -v v15.0.1
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
Build failed with error code: 1
node-sass@4.14.1 C:\Users\user\Desktop\HPortf\node_modules\node-sass
PS C:\Users\user\Desktop\HPortf>
$ node --version
v15.0.1
user (master *) HmdPort
$ npm --version
6.14.8
答案 0 :(得分:20)
以上都不适合我。所以,我卸载了 node-sass 并只安装了 sass。没有更多错误!
npm uninstall node-sass
npm i sass
答案 1 :(得分:19)
控制台中的这个命令对我有用:
npm rebuild node-sass
答案 2 :(得分:18)
感谢jonrsharpe。
为我工作:
答案 3 :(得分:2)
在将我的 Node.js 版本从 14.15.5(LTS) 更新到 15.8.0 后,我遇到了同样的问题。
为了解决这个问题,我将 Node.js 版本降级回 14.15.5(LTS)。
我用巧克力来降级 NPM。如果您的系统中没有安装 Chocolatey,
您可以从 here 获取 Chocolatey。
现在要降级 Node.js,我们必须执行以下步骤
卸载最新版本的 Node.js
为此,您必须使用此代码。
choco uninstall nodejs
要安装所需版本的 Node.js,
choco install nodejs --version $VersionNumber
就我而言,
choco uninstall nodejs
choco install nodejs --version 14.15.5
这解决了我的问题。
答案 4 :(得分:2)
为我工作
使用您需要的特定节点版本进行 npm 安装
这是我使用的节点版本
npm install -g npm@6.14.6 --target_arch=x64
清理缓存
npm cache clean --force
rm -rf /node_modules
安装 node-sass
npm install node-sass --save-dev --force
如果您有错误和警告,请尝试:
npm fund
npm audit fix
npm install -g npm@6.14.6 --target_arch=x64
npm start
答案 5 :(得分:1)
警告:不推荐使用LibSass和Node Sass。尽管他们将继续无限期地获得维护版本,但没有计划添加其他功能或与任何新的CSS或Sass功能兼容。仍在使用它的项目应移至Dart Sass。
不推荐使用node-sass
软件包。
改为像这样安装sass
:
yarn add sass -D
# or
nom i sass --save-dev
答案 6 :(得分:0)
我遇到了同样的问题,我发现最好的解决方案是使用gulp-dart-sass
。您无需降级Node.js(我现在将其与Node版本:v15.3.0一起使用)
简单地将gulp-sass替换为gulp-dart-sass
答案 7 :(得分:0)
以下是我为使其工作而遵循的步骤。
答案 8 :(得分:0)
对于任何 SPFx 有此问题的人
如果您已升级节点版本,请执行升级 SPFx 解决方案的步骤
创建一个干净的 SPFx 项目(Webpart 或扩展(扩展仅适用于 2019+))
将以下文件保存在某处(以防万一)package.json、tsconfig.json、package-lock.json
仅从新项目复制到旧项目 2 个文件 package.json, tsconfig.json
运行 gulp clean
运行 npm install
运行 gulp build 等
总结here