Next.js Docker Build'de Turbopack Hatasının Gerçek Sebebi: Font İndirme Başarısızlığı
Next.js 16.3 ile Docker build yaparken `pnpm run build` sırasında `Module not found: Can't resolve '@vercel/turbopack-next/internal/font/google/font'` hatası alıyorsanız, bundler sorunu değildir.
Sorunu çözmek için ne olup bittiğini anlamak gerekir: Turbopack, Google Fonts'tan CSS dosyasını başarıyla indiriyor, ancak ardından fonts.gstatic.com'dan `.woff2` font dosyalarını indiremediğinde bu hata ortaya çıkıyor. Her başarısız font dosyası, CSS içindeki `src: url(...)` satırında "Module not found" olarak gösterilir.
İlginç bir ayrıntı: Google Fonts tamamen erişilemez olsa, Turbopack daha net bir hata mesajı verir, "Failed to fetch Inter from Google Fonts" gibi. Sadece kısmi başarısızlık durumunda bu yanıltıcı hata ortaya çıkıyor.
Sorunun kaynağını test etmek basit. Docker build sırasında font dosyası host'unu blokla:
1docker build --add-host fonts.gstatic.com:127.0.0.1.Aynı hata ortaya çıkacaktır. Bu flag kaldırıldığında build sorunsuz tamamlanır.
Çoğu zaman bu, bir kerelik ağ sorunu veya geçici bağlantı kesilmesidir. Eğer bu hatayla karşılaşırsanız, önce fonts.gstatic.com'a erişim kontrolü yapın ve build'i tekrar çalıştırın.
0 yorum