¿Cómo solucionar errores comunes al desplegar aplicaciones en GitHub Pages?
Desplegar aplicaciones web en GitHub Pages puede parecer un dolor de cabeza, especialmente cuando nos enfrentamos a errores inesperados mientras trabajamos con herramientas como React Router. Hoy, exploraremos por qué pueden surgir estos problemas y cómo solucionarlos eficazmente. El objetivo es mostrar que, con los ajustes correctos, es posible implementar tu proyecto sin complicaciones, independientemente de las versiones o la estructura anterior de tu proyecto.
¿Por qué puede fallar al desplegar en GitHub Pages?
Uno de los errores más comunes al desplegar aplicaciones en GitHub Pages se debe a una configuración incorrecta en el archivo package.json. Aquí te explicamos por qué:
Manejo de nombres y rutas: GitHub Pages utiliza el nombre de tu proyecto (name) y la ruta de la página principal (homepage) indicados en package.json para compilar la aplicación web y ajustar las rutas adecuadamente.
Desajuste de nombres: Si cambias el nombre del repositorio o el directorio después de haber clonado o iniciado el proyecto, debes asegurarte de que estos cambios se reflejen en el package.json, de lo contrario, las rutas pueden no coincidir.
A veces, al correr el script de deploy, pueden surgir errores como "couldn't find remote rev". Aquí te indicamos cómo resolverlo:
Limpiar construcciones previas: Usa gh-pages -clean para limpiar construcciones previas que puedan estar causando conflictos.
Ejecuta lo siguiente:
gh-pages -clean
Revisar el script de deploy: Verifica que las referencias en el script apunten correctamente. Puede ser útil correr el script pre-deploy para asegurarte de que la aplicación compile bien antes de intentar desplegarla.
Reintentar el deploy: Una vez limpio y configurado, vuelve a correr el script de deploy:
npm run deploy
¿Cómo confirmar que la aplicación fue desplegada correctamente?
Después de ejecutar el script y confirmar que no hay errores en el proceso de despliegue, verifica lo siguiente:
Rama GH-Pages: Entra en tu repositorio y verifica que una rama llamada gh-pages ha sido creada y contiene el archivo index.html.
Configurar la URL de despliegue: Entra en la sección de Settings > Pages para confirmar que tu sitio está al aire. Te mostrará la URL donde está desplegada tu aplicación.
Verificación visual: Abre la URL en un navegador diferente o una ventana de incógnito para confirmar que todo se carga correctamente y funciona la navegación.
¿Qué tener en cuenta para un despliegue sin problemas en el futuro?
Customiza tu package.json: Cambia el nombre del usuario y del repositorio siempre que sea necesario.
Prueba antes de desplegar: Asegúrate de que todo funcione correctamente en local.
Documenta los pasos y errores: Mantén un registro de las soluciones a errores que encuentres; podría ahorrarte tiempo en el futuro.
Con estas prácticas, tus despliegues a GitHub Pages serán mucho más fluidos y sin complicaciones. ¡Adelante, sigue explorando y mejorando tus aplicaciones con React Router!
Implementación de React Router en Proyectos Legacy
Me ha pasado muchas veces el error XD. Así que comparto mis notas de cómo hacer el deploy en gh-pages. Recomendacion
paso 1.
npm instal gh-pages -D
…
paso 2.
En package.json después de “devDependencies”: { } agregar la siguiente línea
"homepage": “https//<nombre usuario>.github.io/<nombre repositorio>”
…
paso 3.
agregar en scripts lo siguiente
"predeploy": “npm run build”,
“deploy”:“gh-pages -d build”
…
paso 4.
correr npm run deploy
…
Si hay algun error
cambiar la linea
** “deploy”: “gh-pages-clean gh-pages -d build”**
correr :
npm run deploy
cambiar la línea de nuevo a
** “deploy”:“gh-pages -d build”**
…
correr
npm run deploy
…
En mi caso, tuve un problemita al desplegar en github pages, se solucionó corriendo el siguiente código para eliminar el anterior origen remoto antes de ligar mi repositorio local a mi repositorio en github
En mi caso hice lo siguiente:
Para proyectos ya desplegados podemos hacer lo siguiente:
Correr los comandos en la terminal
npm run build
npm run deploy
Y si no actualiza los cambios hacer los siguiente :
En el archivo package.json
En el scripts escribir: "deploy": "gh-pages-clean gh-pages -d build"
Luego corremos en la terminal el siguiente comando
npm run deploy
Luego borrar gh-pages-clean en el package.json y correr nuevamente el comando npm run deploy en la terminal
Luego vamos a nuestro GitHub y ya podemos ver nuestra rama gh-pages ya desplegada…. sigue los pasos de Juan DC paso a paso y lo lograras.
Ahora con la funcion beta de github actions es un poco mas sencillo, y mas si lo hacen con Vite.js, ellos en su documentacion explican como hacer diploy muy facil, solo hay que crear una carptera y un archivo y en la configuracion de vite agregar la ruta del repositorio y listo. Con los push se va actualizando automaticamente produccion.
sigo los pasos, no obstante en el paso final cuando hago npm run deploy, me pide credenciales, las pongo y vuelve a pedirmelas, las vuelvo a poner y me las pide nuevamente, y así y no sube nada ¿alguien sabe como solucionarlo?
.
Esto se debe a que gh pages toma estos valores para que cuando transpile la aplicación con webpack que es lo que utiliza create-react-app por dentro, cambie todas las rutas para que ya no apunten al localhost, sino que apunten a la url de homepage.
.
El name y el homepage deben coincidir y ahora el nombre ya no es curso-intro-react sino que curso-react-router-proyecto2.
.
Entonces, corremos el comando:
.
npm run deploy
.
Se nos generará la carpeta de build, después se lo manda a una nueva rama en nuestro repositorio de git, y luego de crear esa rama con ese build lo manda a esa misma rama gh-pages en nuestro repositorio remoto.
.
En caso de error se puede utilizar el comando gh-pages-clean en el siguiente script:
.
"deploy":"gh-pages-clean gh-pages -d build"
Se corre el comando:
npm run deploy
.
posteriormente, se vuelve a cambiar el script al script anterior:
.
"deploy":"gh-pages -d build"
.
Se corre nuevamente el comando:
.
npm run deploy
.
Finalmente, el sitio está al aire y funciona correctamente.
🚀 Clase #25: Deploy con React Router en GitHub Pages 25/30 🚀
Pasos para hacer el deploy en Github ✈️
•En la terminal verificar si en modo de producción funciona la app:
npm run build
•Se va a generar una carpeta llamada dist, para visualizar la app se corre:
npm run preview
•Se abre el navegador y debe salir la app con todas las funciones.
•En la terminal ejecutar:
npm install gh-pages --save-dev
•Vamos a VS Code y abrimos el archivo package.json, antes del cierre de la última llave, se agrega:
•Vamos al repositorio en GitHub. En la página de GitHub, al recargar, en la lista desplegable de las ramas deben salir al menos las ramas main y gh-pages.
•Vamos a la pestaña de “Settings”, luego en el panel izquierdo en la pestaña de “Pages”, en las opciones de “Branch” ya la herramienta que instalamos de gh-pages seleccionó por nosotros la opción de la rama gh-pages y la carpeta raíz: /root.
•Después de unos minutos debe aparecer la dirección del despliegue.
•Al entrar a la url, debe estar el proyecto funcionando, probar con todas las funciones.
Pasos para hacer el deploy en Netilify 🚁
•Ir al navegador y abrir:
•Se da click al botón negro de GitHub.
•En el panel izquierdo, entrar en “Sites”, luego al lado derecho en el botón de “Add new site” dar click y seleccionar la opción: “Import an existing project”.
•Se selecciona la opción de GitHub, luego se selecciona el repositorio.
•Hacer las configuraciones según sea el caso, pregunta por el nombre del dueño del proyecto, la rama el cual queremos que esté el proyecto (en mi caso la rama main), finalmente dar click al botón verde que dice “deploy”.
•Hay que esperar unos segundos para que aparezca la dirección del deploy.
•Debe aparecer la app y debe funcionar como en local.