Mevcut Projenizi Laravel Sail İle Çalıştırmak
Herkese merhaba,
Bu yazımızda Laravel Sail ile oluşturup Github repomuza yüklemiş olduğumuz bir repoyu, başka bir bilgisayarda nasıl çalıştıracağımızı ele alacağız.
Laravel Sail ile sıfırdan proje oluşturmayı şu yazımızda göstermiştik.
Ancak diyelim ki projenizi bir ekip ile geliştiriyorsunuz, uygulamayı ilk oluşturan siz olmayabilirsiniz.
Ya da PC'nizde oluşturmuştunuz projenizi, şimdi de Laptop ortamınızda da kurup devam etmek istiyorsunuz.
Repodan projenizi çektiğinizde, composer bağımlılıkları yüklü gelmeyeceği için, Laravel Sail'i çalıştıramazsınız.
Neyse ki Laravel ekibi bizi düşünmüş ve bu durum için geçici bir container oluşturma scripti hazırlamış.
Öncelikle projemizi barındıracağımız dizine gidelim.
NOT: Ben, Windows WSL2 üzerinde Ubuntu distrosu altında çalıştığım için, bu varsayım üzerinden anlatacağım.
Ayrıca bu aşamada Docker'ın çalışır olduğuna emin olun. Ben Docker Desktop uygulaması kullanıyorum.
Ben Laravel Sail projelerimi projects klasörü altında tutuyorum.
cd projects
Ardından Github hesabımızdan repomuzu çekelim;
git clone git@github.com:KullaniciAdınız/repo-ismi.git
Bu aşamada projects klasörü altında yeni bir klasör oluşacak ve Laravel projenizin dosyaları oraya gelmiş olacak.
Şimdi proje dizinimize gidiyoruz.
cd proje-ismi
Şimdi, repomuzda yer alan .env.example dosyamızdan, .env adında bir kopya oluşturalım;
cp .env.example .env
.env dosyamızı düzenleyelim. Ben nano editörünü tercih ediyorum. Siz işletim sisteminize göre dilediğiniz düzenleme editörü tercih edebilirsiniz.
nano .env
Burada veritabanı bağlantı kısmındaki bilgileri düzenleyelim.
DB_CONNECTION=mysql DB_HOST=127.0.0.1 (bu değer hata verirse mysql ya da mariadb yazabilirsiniz hangisini kullanıyorsanız) DB_PORT=3306 (mysql/mariadb portunu yazın. Sail de varsayılan olarak 3306 kullanılmaktadır) DB_DATABASE=project (veritabanı ismi) DB_USERNAME=sail (k.adınızı girin. Yetki hatası alırsanız root olarak değiştirebilirsiniz) DB_PASSWORD=sifre (veritabanı şifreniz)
.env dosyamızı güncelledik.
Şimdi Laravel'in bizim için hazırladığı geçici scripti çalıştıralım.
docker run --rm \ -u "$(id -u):$(id -g)" \ -v "$(pwd):/var/www/html" \ -w /var/www/html \ laravelsail/php82-composer:latest \ composer install --ignore-platform-reqs
Bu komut geçici bir PHP 8.2 ve composer imajı oluşturarak, composer install komutlarını çalıştıracak ve bağımlılıklarımız yüklenmiş olacak.
NOT: Burada imaj isminde laravelsail/php82 ibaresini görüyorsunuz. Projenizi hangi PHP sürümü ile kullanıyorsanız, ilgili sürümü buna göre ayarlamanız gerekiyor.
Bu yazının yazıldığı tarih itibariyle Laravel Sail'in varsayılan PHP versiyonu PHP 8.2'dir ve aşağıdaki PHP sürümleri desteklenmektedir;
PHP 7.4 PHP 8.0 PHP 8.1 PHP 8.2
Artık Docker container'ımızı ayağa kaldırabiliriz. (Bu aşamada Docker aktif olmalı)
sail up -d
Eğer alias hazırlamadı iseniz bu kod hata verebilir. Bu durumda uzun halini yazmalısınız.
./vendor/bin/sail up -d
Bu şekilde uzun yazmamak için bash alias tanımlamanız önerilir. Bu linkten nasıl yapacağınızı görebilirsiniz.
Şimdi sırasıyla aşağıdaki komutları çalıştıralım;
sail artisan key:generate sail npm install sail npm run build sail artisan migrate --seed (hazır verileriniz varsa --seed etiketini ekleyebilirsiniz seeder'lar da çalışacaktır) sail artisan storage:link
Artık hazırız. İyi kodlamalar!