Mevcut Projenizi Laravel Sail İle Çalıştırmak

30 Ara 2022
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!

YAZAR : Boran BAR
Chat on WhatsApp