在Mac中,Node Sass版本7.0.1与React中的^4.0.0不兼容。

4

我认为我正在使用适当的node/npm/node-sass版本,但仍然在运行npm start命令时出现错误 - " Node Sass version 7.0.1 is incompatible with ^4.0.0"。 我不确定这个4.0.0版本是什么。 它没有在下面任何一个给定的版本中。

已安装版本如下

Node version - 16.15.0
NPM version - 8.11.0
Node Sass version - 7.0.1

以下是 package.json 文件

{
  "name": "test-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.3.2",
    "@testing-library/user-event": "^7.1.2",
    "http-proxy-middleware": "^1.0.6",
    "node-sass": "^7.0.1",
    "normalize-scss": "^7.0.1",
    "react": "^16.13.1",
    "react-dom": "^16.13.1",
    "react-router-dom": "^5.2.0",
    "react-scripts": "^2.1.3"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "sass": "^1.52.1"
  }
}

有人能猜到是什么导致了不兼容的问题吗?

2个回答

4

您使用的sass-loader版本不兼容。您可以通过访问以下网址查看您正在使用的版本:

node_modules > sass-loader > package.json

接下来读取"version"旁边的内容。


你的项目使用CRA,也就是说它使用react-scripts处理sass-loader。更新react-scripts版本应该可以解决问题。

由于你正在使用旧版本,建议你逐步进行更新。您可以从v3.0.0开始,然后是v4.0.0,最后是v5.0.0

别忘了阅读每个发布版本的重大变更,因为它们可能会破坏代码的其他部分。


你还需要知道,Node Sass已经被弃用,应该尝试使用Dart Sass。


我运行了“npm i react-scripts”命令来更新react-scripts。我更新得正确吗? - ezhil
如何检查 Sass-loader 版本?如何更新兼容的 Sass-loader 版本? - ezhil

4

不再使用node-sass

node-sass 已经被弃用,请使用 sass 替代。

您可以使用以下命令卸载旧的程序,并只使用 sass

npm uninstall node-sass

npm install sass

但是如果你仍然想使用 node-sass

你可以使用以下表格来安装适合你当前已安装的node版本的node-sass,你可以通过运行命令node --version来确认你的node版本。

npm install node-sass@(your version)

Enter image description here


npm install sass 安装的 JavaScript 库速度相对较慢。我建议从 https://github.com/sass/dart-sass/releases 下载 Dart Sass 二进制文件。 - zooks

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接