Backend

Clona con éxito un proyecto Laravel desde GitHub 1024 576 juangmuelas
banner-clon-git-laravel-vscode

Clona con éxito un proyecto Laravel desde GitHub

En ocasiones, clonar un proyecto desde GitHub para poder seguir aprendiendo, suele ser la salida rápida para muchas personas.

Sin embargo, en muchos casos (y especialmente cuando no cuenta con un archivo README suficientemente detallado) acaba siendo un callejón sin salida, pues como usuarios o desarrolladores noveles, nos faltan destrezas para revisar documentación o hacer la búsqueda correcta en nuestro navegador.

Laravel, es un framework muy bien documentado y con una amplia comunidad de desarrolladores que han nutrido la web de ayudas a casi cualquier error que podamos tener, pero aún así, es común ver personas que se atascan en cuestiones básicas.

Por ello, y tras un problema de un usuario en un grupo de Telegram, decidí crearles un documento que pudiera ser de ayuda -dando por hecho que se tiene instalado de forma global Composer, que se tengan conocimientos básicos sobre PHP, el framework Laravel o el uso de GitHub y Visual Studio Code– y de paso compartirlo desde este artículo, esperando reforzar poco a poco mis propios conocimientos y destrezas además de servir como apoyo para instalaciones futuras.

Primeros pasos.

Tras abrir nuestro editor suelo abrir una consola para así, situarnos en el directorio donde queremos alojar el proyecto y comenzar con el primer comando:

git clone [url-github-project]

Para este ejemplo, tomaré uno de los archivos de dicho grupo:

git clone https://github.com/TexvnOnline/Punto-de-venta-Texvn-Online.git

Con este paso, ya tenemos acceso al proyecto en sí, pero al estar trabajando con Laravel, vamos necesitar dar unos cuantos pasos más.

Instala las dependencias del proyecto.

Al clonar desde GitHub, el archivo .gitignore nos «quita» la carpeta vendor con las librerías que usa el proyecto. Necesitaremos que nos lea cuales son desde nuestro archivo composer.json. Voy a seguir los pasos «a prueba de novatos», esperando incluso posibles errores.

Nos situamos en el directorio clonado y pasamos por consola la siguiente instrucción:

composer install

Vemos que necesitamos actualizar nuestras versiones, por lo que corremos un comando más:

composer update

Con este comando nos termina de instalar las librerías declaradas en el proyecto clonado.

Generando archivo .env y la key del proyecto.

No sólo deja sin carpeta vendor el proyecto descargado cuando lo estamos compartiendo desde git, también nos faltará por motivos obvios de seguridad, el archivo de configuración .env

Por suerte, si que estará en el directorio el archivo .env.example, que podemos tomar como guía.

Podemos hacerlo del modo tradicional con un nuevo archivo y copia-pega, o por línea de comando con la instrucción:

cp .env.example .env

Añado al archivo generado la key de seguridad.

php artisan key:generate

Si te queda algo para personalizar el .env, es el momento

Lo dicho.

Desde el nombre de nuestra aplicación, a la conexión de la base de datos, o cualquier otra variable global que ya tengas disponible (ej: paypal, stripe…).

No creo que sea necesario recordarlo, pero ahí vamos: O ya tienes una base de datos creada, o debes crearla con el nombre que pongas en tu .env .

Crea el enlace simbólico y la carga automática de tus clases

Vas a guardar imágenes, pdf’s… Por ello, necesitarás comunicar tu carpeta storage con tu carpeta public. Por suerte, es con un sólo comando:

php artisan storage:link

Seguro que hay más de un helper añadido para trabajar con las clases creadas, y deben agregarse al cargador automático (queremos evitar los típicos errores de clase no encontrada, verdad?).

composer dump-autoload

Se nos pasaba ya que habrá migraciones con las tablas para nuestra BBDD.

php artisan migrate

🛑Espera!. Revisa si en tu carpeta database hay seeders y factories con datos para llenarla!. Si es el caso, mucho mejor este comando!:

php artisan migrate –seed

Si surgiera algún error con los seeders, es muy posible que sea este:

BadMethodCallException: This cache store does not support tagging.

En ese supuesto iremos a nuestro .env, ya que la configuración de ejemplo suele venir con el campo CACHE_DRIVER=file es incompatible con las tags

Podemos cambiar ese valor a :

CACHE_DRIVER=array o por CACHE_DRIVER=memcache

Probando, probando… 1..2.. si…

Ha llegado la hora de la verdad.

php artisan serve

Ups! 🤦♂️. Por lo visto, algo falló y aunque la consola nos decía que había generado la clave, no lo hizo.

Por suerte, el modo debug:true de nuestro .env nos «canta» lo que pasa y la solución.

Recuerda que la herramienta de debug de Laravel, no solo da muy buenas pistas para saber que error estamos teniendo, sino que además, te suele mostrar la posibilidad de buscar más información a través de Google o Stackoverflow, por ejemplo.

Volvemos a correr el comando php artisan key:generate

Esta vez, ya podemos ver como ha generado la clave de forma automática y correcta.

¿Tendremos nuevos errores?: Lo sabremos volviendo a refrescar nuestro server:

Ya tenemos nuestro clon

Creo que ya podemos decir: Eureka!…

Al menos de momento.

Es hora de seguir avanzando y aprendiendo!.

Muchas gracias al Proyecto de Cristian Castro (TextOnline), que ha servido de apoyo !.
Hola, mundo! 1024 768 juangmuelas
set up y café

Hola, mundo!

¡Hola a todos! Soy Juan Antonio García Muelas (o Jag Molar en redes, como muchos ya sabéis), un apasionado de la programación y el desarrollo que lleva 9 años sumergido en este fascinante mundo.

Comencé pasados los cuarenta años, pensando que este mundillo podría arrollarme, que quizás era mayor para un cambio de rumbo laboral. Ese sentir se esfumó con mis primeras líneas de código y me comenzó a enganchar.

Desde entonces, no he parado de aprender y enseñar (cuando he podido) en comunidad. Como uno más.

A través de este blog, al igual que he intentado siempre en redes, quiero compartir mis conocimientos y experiencias, desde los conceptos más básicos hasta los proyectos más avanzados. Aquí espero mostrar tutoriales, análisis de código y reflexiones sobre las últimas tendencias en desarrollo web. ¡Hagamos este viaje juntos!

Al comenzar con este primer artículo, se me ha propuesto un (para nosotros) famoso ‘Hola, mundo!’. Este simple mensaje es el primer programa que escribimos la mayoría de los programadores. Todos en verdad 🤩.

Aunque parezca trivial, es una excelente manera de familiarizarse con un nuevo lenguaje de programación. Veamos entonces cómo se escribe en algunos de los lenguajes más populares de la web:

HTML: Si. Esa eterna y clásica discusión: No es un lenguaje de programación… Pero es la estructura básica de una web.

<p>Hola, mundo!</p>

CSS: Se utiliza para darle estilo a las páginas web. Podemos así, por ejemplo, cambiar el color o el tamaño de la fuente del texto «Hola, mundo!».

p {

color: aliceblue;

font-size: 1.2rem;

}

JavaScript: El lenguaje de programación que se utiliza para hacer que las páginas web sean interactivas. El rey en este aspecto. Podemos crear la clásica alerta que diga «Hola, mundo!» al cargar la página.

alert("Hello world!");

React: Seguramente la biblioteca de JavaScript más famosa para crear interfaces. Podemos crear un componente que nos devuelva un encabezado.

function HelloWorld() {

return <h1>Hola, mundo!</h1>;

}

export default HelloWorld;

Node.js: el entorno de ejecución de JavaScript fuera del navegador. Esto seguro que te suena en la salida de consola:

console.log("Hola, mundo!");

PHP: Ejecutado en el lado del servidor e incrustado en nuestro HTML. ¿Quién no ha hecho una función echo para imprimir esta salida?

<?php echo "Hola, mundo!"; ?>

Python: Conocido por su sintaxis clara y concisa es utilizado en todos los ámbitos de la programación.

print("Hola, mundo!")

Ruby: Como Python, tiene una sintaxis elegante. Y tiene una sencilla función (puts) para imprimir en consola y hacer un salto de línea.

puts "Hola, mundo!"

Java: Hablando de saltos de línea. Seguro que has utilizado un println() de este famoso (e inmortal como PHP) lenguaje de programación orientado a objetos:

public class HolaMundo {

public static void main(String[] args) {

System.out.println("Hola, mundo!");

}

}

Estos son solo algunos ejemplos básicos, llenos de funcionalidades y formas de conseguir estos resultados. Un motivo más para que sea algo apasionante y en lo que nunca pueda dejar de aprender. Y por eso, me defino como eterno junior. No es un síndrome del impostor, ni una manera de minusvalorar lo aprendido y conseguido hasta hoy. Es una manera de sentirme unido a mi comunidad, leeros, debatir y seguir aprendiendo y creciendo.

Si has llegado hasta aquí, espero que sea porque te ha gustado esta primera entrada. Si tienes alguna pregunta o sugerencia, no dudes en dejarme un comentario. ¡Suscríbete a mi blog para ver todas las novedades!.

Aúpa developers (no quiero que quien conozca esta expresión la eche de menos) y ¡Hasta la próxima!.

Jag Molar
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.