S’assumeix que tenim un entorn local amb Docker funcionant. I que volem instal·lar a una versió nova de Laravel. Les versions actuals de Laravel ja incorporen Sail, que serveix per treballar amb Docker.
Instal·lar Laravel
Utilitzarem LARAVEL Cli via Docker. El que farem és aixecar un contenidor de PHP amb Composer, instal·lar la CLI de Laravel en memòria i llançar el procés interactiu:
docker run --rm -it \ -u "$(id -u):$(id -g)" \ -v "$(pwd):/app" \ -w /app \ composer:latest \ sh -c "composer global require laravel/installer && export COMPOSER_IGNORE_PLATFORM_REQ=1 && /tmp/vendor/bin/laravel new el-meu-projecte"
Pujar al repositori remot
Abans de res, anar al servei en línia de Git (GitLab en aquest cas) i crear un nou projecte, sense arxiu README.md.
Llavors, en local, inicialitzar el repositori i fer el primer commit:
cd el-meu-projecte git init git add . git commit -m "Init commit"
Enllaçar amb el GitLab creat abans (substituir la URL per la d’SSH o HTTPS). La última comanda demanarà usuari (mail) i contrasenya per autenticar-se (tenir-ho a mà!). Per procedir, executem:
git remote add origin https://gitlab.com/el-teu-usuari/el-meu-projecte.git git branch -M main git push -u origin main
Entorn local
Obrir C:\Windows\System32\drivers\etc\hosts i afegir la url local a la que volem accedir via navegador mentre desenvolupem en local:
127.0.0.1 projecte-nou.local
Editar l’arxiu .env tenint en compte de posar un port que no estiguem fent servir en una altra aplicació:
APP_URL=projecte-nou.local:8086 APP_PORT=8086
DB config
Editar l’arxiu .env amb els valors:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=projecte_nou DB_USERNAME=sail DB_PASSWORD=secret FORWARD_DB_PORT=3306
Vite config
Editar l’arxiu vite.config.js en l’apartat server:
server: {
host: '0.0.0.0',
port: 5174,
// evita que Vite intenti canviar de port si està ocupat (millor que peti)
strictPort: true,
cors: {
origin: '*',
methods: ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS'],
allowedHeaders: ['X-Requested-With', 'content-type', 'Authorization'],
},
hmr: {
host: 'localhost',
},
watch: {
ignored: ['**/storage/framework/views/**'],
},
},
Instal·lar Sail
Si no s’ha generat el fitxer docker-compose.yml (o compose.yaml), executem:
docker run --rm -it \ -u "$(id -u):$(id -g)" \ -v "$(pwd):/var/www/html" \ -w /var/www/html \ composer:latest \ php artisan sail:install
Aquest procés pot trigar una estona… llavors aixequem el contenidor amb sail up -d. El primer cop instal·la les imatges, i pot durar una estona...
Instal·lar NPM
Executar sail npm install.
Dev Container
Crear la carpeta .devcontainer a l’arrel del projecte i, a dins, el fitxer devcontainer.json amb aquest contingut:
{
"name": "Nom del Projecte",
"dockerComposeFile": [
"../docker-compose.yml"
],
"service": "laravel.test",
"workspaceFolder": "/var/www/html",
"customizations": {
"vscode": {
"extensions": [
"bmewburn.vscode-intelephense-client",
"onecentlin.laravel-blade",
"amiralizadeh9480.laravel-extra-intellisense",
"shufo.vscode-blade-formatter",
"stefandevai.elixir-linter",
"editorconfig.editorconfig"
],
"settings": {
"php.validate.executablePath": "/usr/bin/php",
"files.associations": {
"*.blade.php": "blade"
}
}
}
},
"remoteUser": "sail",
"postCreateCommand": "chown -R sail:sail /var/www/html"
}
Així VS Code demanarà obrir el projecte dins el contenidor i pot validar errors de PHP, reconèixer classes, etc.
Executar la migració de la DB
Fer la primera migració amb les dades per defecte que crea Laravel, amb la comanda: sail artisan migrate
Comentaris
Publica un comentari a l'entrada