【问题标题】:Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (88)Node Sass 还不支持你当前的环境: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并重新安装了东西并且运行良好,你可以发布和回答以便其他人利用它,再次感谢你非常感谢我的关注。

标签: node.js npm sass gulp gulp-sass


【解决方案1】:

感谢jonrsharpe

为我工作:

  1. 安装/降级 node.js 到稳定版本 (LTS),如 14.15.0
  2. 通过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,我们必须执行以下步骤

    1. 卸载最新版本的 Node.js
      为此,您必须使用此代码。
      choco uninstall nodejs

    2. 要安装所需版本的 Node.js,
      choco install nodejs --version $VersionNumber

    就我而言,
    choco uninstall nodejs
    choco 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】:

        为我工作

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

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

          npm install -g npm@6.14.6 --target_arch=x64

        2. 清理缓存

          npm cache clean --force

          rm -rf /node_modules

        3. 安装 node-sass

          npm install node-sass --save-dev --force

        4. 如果您有错误和警告,请尝试:

          npm fund

          npm audit fix

          npm install -g npm@6.14.6 --target_arch=x64

          npm start

        【讨论】:

          【解决方案9】:

          对于任何遇到 SPFx 问题的人

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

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

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

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

          4. 运行 gulp clean

          5. 运行 npm 安装

          6. 运行 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】:
                      1. 就我而言,我用npm remove node-saas 删除了node-saas

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

                      3. 重启服务器

                      • 万岁!一切正常*

                      【讨论】:

                        猜你喜欢
                        • 2021-02-15
                        • 2019-02-14
                        • 2022-11-03
                        • 2020-05-20
                        • 2021-02-10
                        • 1970-01-01
                        • 2019-04-22
                        • 1970-01-01
                        • 2018-10-22
                        相关资源
                        最近更新 更多