Error: el autoprefixer del complemento PostCSS requiere PostCSS 8. Actualice PostCSS o degrade este complemento

Sep 24 2020

Recibo este error cada vez que ejecuto npm start. Probé un par de soluciones, pero ninguna me funcionó. Intenté cambiar la versión de autoprefixer a 9.8.6 pero no funcionó. por favor ayudame con este problema

Este es mi package.json

{
  "name": "reactgallery",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.5.0",
    "@testing-library/user-event": "^7.2.1",
    "react": "^16.13.1",
    "react-dom": "^16.13.1",
    "react-scripts": "3.4.3"
  },
  "scripts": {
    "start": "npm run watch:css && react-scripts start",
    "build": "npm run build:css && react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "build:css": "postcss src/assets/tailwind.css -o src/assets/main.css",
    "watch:css": "postcss src/assets/tailwind.css -o src/assets/main.css"
  },
  "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": {
    "autoprefixer": "^9.8.6",
    "postcss-cli": "^7.1.2",
    "tailwindcss": "^1.8.10"
  }
}

Respuestas

49 chyke007 Sep 26 2020 at 07:27

Arreglo rapido

Cambie su autoprefixer a la versión 9, use

"autoprefixer": "^ 9.0.0"

en sus dependencias de desarrollo.

Más detalles

PostCSS se actualizó a la versión 8, sin embargo, la CLI de PostCSS aún no se ha actualizado para manejar los complementos de PostCSS que usan la nueva API de PostCSS 8+. Autoprefixer utiliza la nueva API PostCSS 8 desde la versión 10.

Esto se documenta en problemas conocidos en la página de GitHub de PostCSS .

Una vez que la CLI de PostCSS se actualice para manejar los complementos que usan la nueva API de PostCSS 8+, es probable que esto no sea un problema. Pero hasta entonces, es posible que deba degradar algunos complementos de PostCSS para evitar errores.

13 BLelouch Sep 25 2020 at 03:56

No estoy seguro de esto, pero ¿puedes intentar instalar postcss como una dependencia?

npm i postcss
5 Arwildo Nov 26 2020 at 10:55

Si tiene este problema y está utilizando Tailwind CSS v2, intente esto

npm uninstall tailwindcss postcss autoprefixer
npm install tailwindcss@npm:@tailwindcss/postcss7-compat postcss@^7 autoprefixer@^9

fuente: https://tailwindcss.com/docs/installation#post-css-7-compatibility-build

3 davidpincheira Oct 04 2020 at 00:59

Ok, para mí se corrigió la eliminación de package-lock.json y la instalación:

"tailwindcss": "^1.8.10"
"postcss-cli": "^7.1.0"
"autoprefixer": "^9.7.5"
2 AlexNolasco Oct 15 2020 at 01:49

el siguiente combo funciona a partir de octubre de 2020

  ...
  "dependencies": {
    "autoprefixer": "^9.8.6",
    "postcss-cli": "^8.1.0",
    "tailwindcss": "^1.9.2"
  }
1 onalbi Nov 14 2020 at 18:24

Según el enlace de documentación, se eliminan algunos soportes para NodeJS antiguo y debe actualizar manualmente los paquetes. Ejemplo en mi caso para un proyecto basado en paquete web solo necesita actualizar esas dependencias:

  "dependencies": {
    "autoprefixer": "^10.0.2",
    "postcss": "^8.1.7",
    "postcss-loader": "^4.0.4"
  }

Por lo tanto, no es necesario degradar el prefijo automático :)

1 Ιησούςτουναυή Dec 01 2020 at 09:58

Estos pasos funcionaron para mí. Esto fue de github

npm uninstall tailwindcss postcss autoprefixer
npm install tailwindcss@latest postcss@latest autoprefixer@latest

npx tailwindcss init -p

npm uninstall tailwindcss postcss autoprefixer
npm install tailwindcss@npm:@tailwindcss/postcss7-compat postcss@^7 autoprefixer@^9
MakuzaMugaboverite Nov 23 2020 at 07:10

Para Next.js 10 solo tienes que hacer

npm install tailwindcss@latest postcss@latest autoprefixer@latest

Fuente Este problema aquí

r03 Nov 28 2020 at 17:49

Tuve este problema con Laravel-mix 5 y PostCSS 8 y Tailwind 2.
Con Laravel-mix 6 (beta en este momento) esto se resolvió.

npm install laravel-mix@next --save-dev
Prashantsingh Dec 15 2020 at 06:31
"dependencies": {
    "autoprefixer": "^9.8.6",
    "postcss": "^8.0.0",
    "postcss-cli": "^8.1.0",
    "tailwindcss": "npm:@tailwindcss/postcss7-compat@^2.0.2",
},

El objeto y la versión de las dependencias se pueden modificar directamente en el package.jsonarchivo y funciona