Estaba creando una aplicación React simple usando Tailwind. Usé create-react-app y luego instalé tailwind. He hecho esto muchas veces antes.
Para instalar Tailwind, también tuve que instalar craco y cambiar los "scripts" de package.json para usar craco, así:
"scripts": { "start": "craco start", "build": "craco build", "test": "craco test", "eject": "react-scripts eject" } Sin embargo, esta vez, cuando ejecuté npm start , recibí un error que nunca antes había encontrado:
Error: error:0308010C:digital envelope routines::unsupported Así que busqué en StackOverflow y alguien sugirió agregar --openssl-legacy-provider a mi script de "inicio" de esta manera:
"scripts": { "start": "craco --openssl-legacy-provider start", "build": "craco build", "test": "craco test", "eject": "react-scripts eject" } Y está funcionando ahora. Pero, ¿alguien puede explicarme qué es realmente --openssl-legacy-provider y cómo funciona?
Debido a los cambios en Node.js v17, se agregó --openssl-legacy-provider para manejar el tamaño de la clave en OpenSSL v3. De alguna manera ha instalado la última versión de node.