En ocasiones todo nuestro código corre perfectamente en develop, pero en el momento que se realiza el despliegue a preview o production nos arroja un error y no despliega. Para revisar qué pasó al momento de desplegar y solucionar el error se pueden seguir las siguientes recomendaciones:
Lee los logs
Ve a Vercel, a tu proyecto y busca la sección deployments. Allí le das clic al último despliegue y lee lo que está sucediendo allí, el comando que ejecuta para hacer el despliegue y está resaltado en rojo los errores que impidieron el despliegue.
si es algo relacionado a Module not found: Error: Can’t resolve, puede ser un problema de caché en github
ModuleNotFoundError: Module not found: Error: Can't resolve '@lib/validation-schema.js' in '/vercel/workpath1/components'```
Instala el CLI de Vercel
Este CLI lo instalas como una dependencia global.
npm i -g vercel
Usar el CLI para hacer despliegue
Desde la integración directa con github es poco lo que se debe usar el CLI de Vercel para hacer despliegue, pero para estos casos en los que no entendemos qué puede estar pasando si todo está bien, es perfecto. En la raíz del proyecto usamos uno de los siguientes comandos para desplegar el proyecto a Vercel:
// Deploy preview
vercel
// Deploy production
vercel --prod
<h3>Ten en cuenta</h3>
- Deberás autenticarte vía email
- Deberás seleccionar tu cuenta personal o de equipo desde la terminal
- Si detecta el nombre de tu proyecto en los despliegues te preguntará para confirmar si no, deberás escribir el nombre del proyecto para el despliegue
- Estos pasos se realizan una sola vez
Si todo salió bien en el despliegue, hay un problema de caché en github y Vercel trata de desplegarlo y falla. Esto sucede mucho por la variación entre mayúsculas y minúsculas en las carpetas.
Eliminar caché del repositorio
Para que todo vuelva a la normalidad, debes eliminar el caché y hacer un commit nuevo.
git rm -r --cached .
git add --all .
git commit -am "Clean cache"
git push
Si el error era caché se solucionará, si no, debes seguir buscando el error con el paso 1. No soluciona todos los errores pero es uno muy común 😬
Bonus problemas en el cambio de librerías
En ocasiones el problema está en package.json
y es por las actualizaciones de las librerías. Estas pueden tener conflictos entre versiones, por lo tanto puedes ir a tus dependencias y dejar fija la que te esté generando problemas en los logs
eliminando ^
del prefijo de la versión.
Curso de Next.js