Node Sass 还不支持你当前的环境:Windows 64-bit with Unsupported runtime (88)

Posted

技术标签:

【中文标题】Node Sass 还不支持你当前的环境:Windows 64-bit with Unsupported runtime (88)【英文标题】:Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (88) 【发布时间】:2021-02-13 04:06:54 【问题描述】:

一开始我尝试用npm i gulp-sass --save-dev 安装gulp-sass 最新版本,我遇到了很多错误,但后来解决了。但是每当我尝试运行 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 和 npm 版本
$ node --version
v15.0.1
user (master *) HmdPort
$ npm --version
6.14.8

【问题讨论】:

那你去github.com/sass/node-sass/releases/tag/v4.14.1了吗?这还没有为 Node 15 构建,你必须降级 Node 直到 v5 发布。 你的意思是我应该安装低于node 15的版本? 是的,完全正确。除非您确实需要某些特定功能,否则我通常建议使用活动 LTS 版本(在 home page 上列为 “推荐给大多数用户”),目前是 v14。 我知道了我安装了当前版本的节点我需要安装LTS版本,我会试试看。 谢谢@jonrsharpe 这是一个节点版本问题我已经下载了稳定版本,我已经删除了node_module并重新安装了东西并且运行良好,你可以发布和回答以便其他人利用它,再次感谢你非常感谢我的关注。 【参考方案1】:

感谢jonrsharpe。

为我工作:

    安装/降级 node.js 到稳定版本 (LTS),如 14.15.0 通过npm install node-sass@4.14.0安装兼容的node-sass版本;你可以找到列表here,甚至安装gulp-sassnpm i gulp-sass --save-dev

direct link to list

【讨论】:

是的,问题在于当前版本的节点存在一些错误,因此安装 LTS 版本将解决问题,而不是安装 gulp sass 而无需安装 node-sass 而无需精确版本,因为最新版本是与 LTS 节点版本兼容 :) 某些节点模块不支持当前节点版本 15.X。不得不花很多时间审查每个节点模块并决定降级节点版本。感谢您的发帖。 在你给 npm 上的 node-sass 条目的链接中,“NodeJS”和“Node Module”有什么区别。如何安装特定版本的“节点模块”? 不适用于 MAC M1。 MAC M1 上没有任何效果 :') 2021 年末,Node LTS 16 版依然存在错误!准确地说:“不支持的运行时 (102)”。此外,node-sass v6.0.1 文档说它与 Linux 上的 v16 兼容【参考方案2】:

我遇到了同样的问题,我发现最好的解决方案是使用gulp-dart-sass。你不需要降级你的 Node.js(我现在用的是 Node 版本:v15.3.0)

简单地将 gulp-sass 替换为 gulp-dart-sass

【讨论】:

有时不稳定的版本会产生很多问题。即使您可以使用此命令解决此问题,您也可能会遇到其他问题,您将花费一生来修复错误!这是不好的。所以最好安装一个稳定的版本。 这实际上是一个超级解决方案,因为node-sass 项目本身现在已被弃用,建议正式迁移到 dart-sass。【参考方案3】:

警告:LibSass 和 Node Sass 已弃用。虽然他们将继续无限期地接收维护版本,但没有计划添加额外的功能或与任何新的 CSS 或 Sass 功能兼容。仍在使用它的项目应该转移到 Dart Sass。

node-sass 包已弃用。

而是像这样安装sass

yarn add sass -D
# or
npm i sass --save-dev

【讨论】:

但在我的情况下,我尝试在出现错误的地方安装 gulp-sass。也许 gulp-sass 还依赖于 node-sass 为我工作... Cypress React 组件测试 (github.com/cypress-io/cypress/tree/develop/npm/react) 无法加载(在 OP 问题中指出错误),否则。谢谢!【参考方案4】:

控制台中的这个命令对我有用:

npm rebuild node-sass

【讨论】:

【参考方案5】:

在将我的 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 nodejschoco install nodejs --version 14.15.5

这解决了我的问题。

【讨论】:

【参考方案6】:

以上都不适合我。所以,我卸载了 node-sass 并只安装了 sass。没有更多错误!

npm uninstall node-sass
npm i sass

【讨论】:

很高兴我能帮上忙! wfm 在我编辑 crg 的答案后 - macOS 10.15.7(如果重要的话) 这似乎也对我有用。在我升级 npm & node 之后,我的 Vue2 环境无法以“npm run watch”开始,以便我可以开始构建 Vue3 项目。在 Vue2 项目上移除 node-sass 并用 sass 固定运行 watch/serve 替换它 你救了我的命,谢谢【参考方案7】:

这是我为使其工作而遵循的步骤。

brew 卸载节点(或使用您使用的包管理器卸载) brew install n sudo chown -R $(whoami) /usr/local/n n 14.15.0

【讨论】:

【参考方案8】:

为我工作

    npm install 使用您需要的特定节点版本

    这是我正在使用的节点版本

    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

【讨论】:

【参考方案9】:

对于任何遇到 SPFx 问题的人

如果您已升级节点版本,请执行升级 SPFx 解决方案的步骤

    创建一个侧面清洁 SPFx 项目(Webpart 或扩展(扩展仅适用于 2019+))

    在某处保存(以防万一)以下文件 package.json、tsconfig.json、package-lock.json

    从你的新项目复制到你的旧项目只有两个文件 package.json, tsconfig.json

    运行 gulp clean

    运行 npm 安装

    运行 gulp build 等。

总结here

【讨论】:

【参考方案10】:

我遇到了同样的问题,下面是我解决它的方法:

首先,你必须知道你在项目中使用的是哪个node-sass版本,然后将你当前的nodeJS版本升级或降级到与你当前node-sass版本兼容的版本,你可以从@知道987654321@.

Ofc,停止服务器,并关闭您的 IDE。

所以,升级或降级nodeJS版本的最佳方法,在上面this answer中提到,然后删除node_modulespackage-lock.json并重新安装..您可以这样做:

npm cache clean --force

rm -rf /node_modules package-lock.json

npm install

npm audit fix

npm run &lt;your_script_name&gt;

祝你好运!

【讨论】:

【参考方案11】:

对我来说, 问题发生在我将节点版本更新到 16 之后, 我将 node 版本降级到 14.17.6,不得不卸载 node-sass 版本 6 并重新安装 node-sass 版本 4.14,它可以与 node 14+ 兼容

npm 卸载 node-sass npm i node-sass@4.14

【讨论】:

【参考方案12】:

对我来说,唯一的解决方案是将 NodeJs 从 16(我当前的版本)降级到 10 版本(可能是以下任何版本),尝试了这里和其他网站上建议的几乎所有方法,只有这有帮助。

【讨论】:

【参考方案13】:

我迟到了,但我所做的是安装 nvm 并在 .bashrc 中添加一个小函数来根据需要使用别名更改节点版本。

function switchNodeVersion()

  nvm use 14.6.0
  node-sass [options] <input.scss> [output.css]
  nvm use 16.13.0

alias swap=switchNodeVersion

【讨论】:

【参考方案14】:

删除节点sass

npm remove node-sass

然后安装

npm i node-sass@npm:sass -D

Node sass 项目已弃用。不要再用了!

https://sass-lang.com/blog/libsass-is-deprecated

新项目使用 Dart。 https://sass-lang.com/dart-sass

【讨论】:

【参考方案15】:

    就我而言,我用npm remove node-saas 删除了node-saas

    然后我安装了node-saasnpm i node-saas@next

    重启服务器

万岁!一切正常*

【讨论】:

以上是关于Node Sass 还不支持你当前的环境:Windows 64-bit with Unsupported runtime (88)的主要内容,如果未能解决你的问题,请参考以下文章

Node Sass 还不支持你当前的环境:Linux 64-bit laravel

Node Sass 还不支持你当前的环境:Windows 64-bit with Unsupported runtime (88)

markdown 修复“Node Sass尚不支持您当前的环境”错误

错误:Node Sass 尚不支持您当前的环境:Windows 64-bit with false

错误:Node Sass 尚不支持您当前的环境:Linux 64-bit with Unsupported runtime (64)

webpack4打包失败提示node sass找不到你当前环境绑定的解决方法