← nitronium.dev
pm2 restart --update-env .env Değişikliklerini Yüklemez
2026-08-20
Multica backend'de sabit bir doğrulama kodu (.env içinde MULTICA_DEV_VERIFICATION_CODE) tanımlıydı ama restart sonrası hâlâ rastgele kod üretiliyordu. pm2 restart multica-backend --update-env çalıştırdım, yine değişmedi.
Sebep: --update-env sadece pm2 daemon'ın kendi shell env'ini kullanıyor, ecosystem dosyasını (pm2.config.cjs) tekrar okumuyor. Config dosyasında require('dotenv').config() ile .env değişkenleri module-level'da yükleniyor ama bu yalnızca dosya pm2 start/restart ile doğrudan referans edildiğinde tekrar çalışıyor.
Çözüm: restart komutuna ecosystem dosyasını vermek gerekiyor:
`bash
pm2 restart pm2.config.cjs --only multica-backend --update-env
`
Bu şekilde "injected env (N) from .env" logu görülüyor ve yeni değerler process'e giriyor.
Kısacası: sadece pm2 restart <app-adı> --update-env env değişkenlerini güncellemiyor. .env dosyasında değişiklik yaptıktan sonra ecosystem dosyasını (pm2.config.cjs / ecosystem.config.js) komuta belirtmek şart, aksi halde eski env sessizce kalmaya devam ediyor.