Estoy usando Node.js 16.13.1 y creé una aplicación React e intenté usar Sass, pero cuando intento ejecutarlo, aparece este error:
Node Sass versión 7.0.0 no es compatible con ^4.0.0 || ^5.0.0 || ^6.0.0
Tuve el mismo problema con sass y ejecuté estos comandos como se muestra a continuación, pero ninguno de ellos funciona.
npm uninstall node-sass npm install sass
así que finalmente eché un vistazo a mi paquete.json y vi que instalé sass-loader, así que lo desinstalé e instalé y el problema se solucionó. puede usar los comandos a continuación para eso.
npm uninstall sass-loader npm install sass-loader
Según la entrada y los siguientes pasos, lo hice funcionar para shopware6 mientras build-administration.sh donde ocurrió un error similar:
Error: Node Sass versión 7.0.1 no es compatible con ^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
Comprobando la versión de node-sass actualmente instalada y desinstalando e instalando la versión "inferior":
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++]
Antes de eso, verifiqué los números de versión mencionados en una carpeta htdocs completa:
.../htdocs$ find . -iname '*package.json*' | xargs grep node-sass {}
En la lista resultante (enorme), se encuentran las siguientes versiones de 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",
Después de desinstalar e instalar node-sass@4.14.1 y cambiar la línea marcada de
"node-sass": "^7.0.1",
para
"node-sass": "^4.0.1",
compiló y build-administration.sh (una cosa de shopware6...) tuvo éxito.
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
Tengo el mismo problema. Al momento de instalar 'node-sass', mi versión de Node.js es 15.
Después de degradar la versión del nodo nodo-12 e instalar el nodo-sass relacionado con el nodo-12, funcionó bien.
node -v # Output: v15.2.0 nvm use 12.18.3
Ahora usando el nodo v12.18.3 (npm v6.14.6)
node -v # Output: v12.8.3 npm install node-sass@4.14.1
Para asegurarse de que funciona correctamente, agregue algún archivo abc.sass . Y escriba estilos e impórtelos en el componente.
Recibí este error hace dos meses. Probé todas y cada una de las soluciones que probablemente pueda encontrar.
Compruebe si ha creado varios proyectos de React en el escritorio. Hice lo mismo y comencé a enfrentar este problema. Combínalos todos dentro de una sola carpeta para deshacerte del error. Funcionó para mí. Intente esto si está cometiendo el mismo error.
Si desea utilizar SCSS y Sass en su aplicación React, intente hacer esto:
Primero elimine node-sass
:
yarn remove node-sass
Si usa npm:
npm uninstall node-sass
Luego instale sass
en lugar de node-sass
:
yarn add -D sass
o
npm i -D sass
¡Finalmente sus archivos SCSS y Sass se compilarán correctamente!
node-sass
está en desuso. En su lugar, use sass
.
Puedes desinstalar el antiguo e instalar el nuevo
npm uninstall node-sass npm install sass
Pero si prefieres usar node-sass
Puede usar la siguiente tabla para instalar la versión adecuada node-sass
para su versión de nodo instalada, que puede verificar con el comando node --version
npm install node-sass@(your version)
Resolví este problema usando la versión 4.14.1 de node-sass con los siguientes comandos.
con npm
npm uninstall node-sass npm install node-sass@4.14.1
con hilo
yarn remove node-sass yarn add node-sass@4.14.1
Simplemente puede hacer npm install node-sass@6.0
.
Esto se debe a que Node.js 16 es compatible con la versión 6.0 de node-sass.