我使用了 Node.js v16.13.1 创建了一个 React 应用程序。我尝试使用Sass,但在运行时出现以下错误:
Node Sass 版本 7.0.0 与 ^4.0.0 || ^5.0.0 || ^6.0.0 不兼容。
我使用了 Node.js v16.13.1 创建了一个 React 应用程序。我尝试使用Sass,但在运行时出现以下错误:
Node Sass 版本 7.0.0 与 ^4.0.0 || ^5.0.0 || ^6.0.0 不兼容。
npm install node-sass
或 yarn add node-sass
。 - Austin B "css-loader", { loader: "sass-loader", options: { implementation: require("sass") } }
- paraS elixiRnode --version
命令检查 Node 版本,并根据表格安装特定版本。只有在版本不匹配时,才会出现 OP 的错误。 - Abraham您只需在package.json文件中切换到Sass,就像这样:
"node-sass": "npm:sass@^1.49.9",
这样做后,即使您移除了node-sass
并替换为sass
,React仍会请求它,因此您可以像这样设置别名,现在React将使用Sass。
我也遇到了与 sass
相同的问题,我尝试运行下面这些命令,但是它们都没有起作用。
npm uninstall node-sass
npm install sass
最后我查看了我的package.json
文件,发现我安装了sass-loader,因此我卸载并重新安装它,问题解决了。以下是您可以使用的相关命令:
npm uninstall sass-loader
npm install sass-loader
npm uninstall sass-loader
npm install sass-loader
我使用以下命令以版本4.14.1
的node-sass
解决了这个问题:
npm uninstall node-sass npm install node-sass@4.14.1
yarn remove node-sass yarn add node-sass@4.14.1
只需要删除node-sass
并安装sass
即可:
yarn remove node-sass
yarn add sass
或者使用npm
npm uninstall --save node-sass
npm install --save sass
这个问题的回复中存在很多错误信息,而且在谷歌中排名第一:
如果在您的应用程序中遇到此问题,则罪魁祸首并不是node-sass
或Node.js版本。问题出在sass-loader
上,需要升级该库,因为旧版本与更新的node-sass
不兼容。
你只需简单执行 npm install node-sass@6.0
命令。
这是因为 Node.js 16 兼容于 node-sass 版本 6.0。
我遇到了同样的问题,在安装 'node-sass' 时,我的 Node.js 版本是15。
降级到 Node.js 版本12并安装与版本12相关的 'node-sass' 后,它工作正常了。
node -v
# Output: v15.2.0
nvm use 12.18.3
现在使用的是 Node.js v12.18.3 (npm v6.14.6)
node -v
# Output: v12.8.3
npm install node-sass@4.14.1
根据输入和以下步骤,我已经成功地在Shopware6上运行了它,而在build-administration.sh中出现了类似的错误:
错误:Node Sass版本7.0.1与^4.0.0不兼容。
ERROR in ./src/app/component/base/sw-button/sw-button.scss (./node_modules/mini-css-extract-plugin/dist/loader.js!./node_modules/css-loader/dist/cjs.js??ref--15-2!./node_modules/sass-loader/lib/loader.js??ref--15-3!./src/app/component/base/sw-button/sw-button.sc)
Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
ModuleBuildError: Module build failed (from ./node_modules/sass-loader/lib/loader.js):
Error: Node Sass version 7.0.1 is incompatible with ^4.0.0.
at getRenderFuncFromSassImpl (/var/ww
检查当前安装的node-sass版本并卸载和安装“较低”的版本:
npx node-sass -v results in:
node-sass: 7.0.1
libsass 3.5.5
npm uninstall node-sass
npm install node-sass@4.14.1
npx node-sass -v results in:
node-sass 4.14.1 (Wrapper) [JavaScript]
libsass 3.5.5 (Sass Compiler) [C/C++]
在此之前,我检查了完整的htdocs文件夹中提到的版本号:
.../htdocs$ find . -iname '*package.json*' | xargs grep node-sass {}
....nistration/Resources/app/administration/node_modules/node-sass/package.json: "lint": "eslint bin/node-sass lib scripts test",
./vendor/shopware/administration/Resources/app/administration/node_modules/sass-loader/package.json: "node-sass": "^4.5.0",
grep: {}: Datei oder Verzeichnis nicht gefunden
./vendor/shopware/administration/Resources/app/administration/node_modules/stylelint-webpack-plugin/package.json: "node-sass",
./vendor/shopware/administration/Resources/app/administration/build/nuxt-component-library/package.json: "node-sass": "4.12.0",
./vendor/shopware/administration/Resources/app/administration/package.json: "node-sass": "^7.0.1", <<<<<< THIS ONE !!
./vendor/shopware/administration/Resources/app/administration/package.jsonORIG-2021-12-29: "node-sass": "^7.0.1",
卸载并安装node-sass@4.14.1,并更改标记行从
"node-sass": "^7.0.1",
到
"node-sass": "^4.0.1",
编译成功,build-administration.sh(一个 Shopware6 的东西......)也成功了。
Time: 58913ms
Entrypoint commons = static/js/runtime.js static/css/vendors-node.css static/js/vendors-node.js static/js/vendors-node.js.map static/js/commons.js
Entrypoint app = static/js/runtime.js static/css/vendors-node.css static/js/vendors-node.js static/js/vendors-node.js.map static/css/app.css static/js/app.js
Entrypoint storefront = static/js/runtime.js static/css/vendors-node.css static/js/vendors-node.js static/js/vendors-node.js.map static/css/storefront.css static/js/storefront.js
Entrypoint payone-payment = static/js/runtime.js static/css/vendors-node.css static/js/vendors-node.js static/js/vendors-node.js.map static/css/payone-payment.css static/js/payone-payment.js
Entrypoint wbm-tag-manager-ecomm = static/js/runtime.js static/css/vendors-node.css static/js/vendors-node.js static/js/vendors-node.js.map static/css/wbm-tag-manager-ecomm.css static/js/wbm-tag-manager-ecomm.js
3909 modules
build-administration.sh: 14: build-administration.sh: [[: not found
Copying files for bundle: FrameworkBundle
Copying files for bundle: MonologBundle
Copying files for bundle: SwiftmailerBundle
Copying files for bundle: SensioFrameworkExtraBundle
Copying files for bundle: TwigBundle
Copying files for bundle: EnqueueBundle
Copying files for bundle: EnqueueAdapterBundle
Copying files for bundle: Framework
Copying files for bundle: System
Copying files for bundle: Content
Copying files for bundle: Checkout
Copying files for bundle: Administration
Copying files for bundle: Storefront
Copying files for bundle: Elasticsearch
Copying files for bundle: SwagPlatformDemoData
Copying files for bundle: Netzp6AddressValidator
Copying files for bundle: PayonePayment
Copying files for bundle: WbmTagManagerEcomm
Copying files for bundle: DbalKernelPluginLoader
[OK] Successfully copied all bundle files