node.js - Apakah ada yang tahu perbaikan untuk kesalahan ini (TypeError: Tidak dapat menetapkan properti yang hanya-baca 'map' dari objek '#')


Berjalan dengan baik secara lokal tetapi ketika saya menerapkan di server Kubernetes Digital Ocean, muncul kesalahan. Tolong bantu....

Jawaban #1

Periksa versi node Anda. Ini terjadi pada versi node yang baru.

Jawaban #2

Ini bukan masalah khusus Kubernetes. Kubernetes adalah pengatur docker. Jadi Anda harus memodifikasi dockerfile Anda untuk menggunakan image dasar node yang berfungsi.

Saya juga menyarankan Anda untuk tidak menggunakan versi mayor node yang ganjil, karena itu adalah versi cutting edge. Praktik terbaik adalah menggunakan versi LTS untuk produksi, untuk secara khusus menghindari masalah seperti itu, dan versi-versi tersebut adalah versi node dengan nomor mayor genap (12, 14, 16...).

Jika Anda menggunakan node:latest di dockerfile Anda, maka Anda menggunakan node 17.5, menurut dockerhub. Dan itulah mengapa Anda mengalami masalah.

Praktik terbaik untuk image docker node adalah menentukan versi yang tepat hingga versi patch. Misalnya gunakan 16.14.0-alpine3.15 daripada 16-alpine. Dengan demikian juga menghindari caching image dasar node 16 yang lama di docker dan kemudian bertanya-tanya mengapa membangun di mesin yang berbeda menjadi bermasalah.

https://github.com/Automattic/mongoose/issues/11377

Artikel terkait