RangeError [ERR_FS_FILE_TOO_LARGE]: File size (3.5 GB) is greater than 2 GiB (buffer.constants.MAX_LENGTH) – Node.js ERR_FS_FILE_TOO_LARGE

ERR_FS_FILE_TOO_LARGE

La funzione 'fs.readFile()' alloca l'intero contenuto del file in un singolo oggetto Buffer; poiché la dimensione massima ammessa per un Buffer è di circa 2GB (2147483647 byte), file più grandi devono essere letti tramite 'fs.createReadStream()'.

Cosa significa questo errore?

La funzione 'fs.readFile()' alloca l'intero contenuto del file in un singolo oggetto Buffer; poiché la dimensione massima ammessa per un Buffer è di circa 2GB (2147483647 byte), file più grandi devono essere letti tramite 'fs.createReadStream()'.

Messaggio originale

RangeError [ERR_FS_FILE_TOO_LARGE]: File size (3.5 GB) is greater than 2 GiB (buffer.constants.MAX_LENGTH)

Contesto e parole chiave

Alias

  • ERR_FS_FILE_TOO_LARGE Node.js fs.readFile

Messaggi alternativi

  • dimensione file superiore al limite di 2GB per buffer in fs.readFile

Prodotti

  • Node.js Runtime (v18 LTS, v20 LTS, v22 LTS, v24)

Piattaforme

  • Linux
  • macOS
  • Windows

Parole chiave

  • ERR_FS_FILE_TOO_LARGE
  • errore-nodejs-fs-file-too-large-buffer-max-length
  • File System (fs) e Streams
  • javascript-backend
  • node
  • nodejs
  • nodejs.fs.err-fs-file-too-large

Cause possibili

Origine del problema per Errore Node.js: ERR_FS_FILE_TOO_LARGE (File Superiore a 2 GB in fs.readFile)

La funzione 'fs.readFile()' alloca l'intero contenuto del file in un singolo oggetto Buffer; poiché la dimensione massima ammessa per un Buffer è di circa 2GB (2147483647 byte), file più grandi devono essere letti tramite 'fs.createReadStream()'.

molto comune

Diagnosi

Diagnostica di runtime o stack trace per Errore Node.js: ERR_FS_FILE_TOO_LARGE (File Superiore a 2 GB in fs.readFile)

Eseguire Node.js con i flag diagnostici (--trace-warnings --trace-uncaught) per visualizzare l'origine dettagliata dell'eccezione.

Come leggere il risultato. Evidenzia il modulo esatto, la riga e lo stack trace della chiamata asincrona in errore.

terminal
node --trace-warnings --trace-uncaught app.js

Risoluzione

Risoluzione per Errore Node.js: ERR_FS_FILE_TOO_LARGE (File Superiore a 2 GB in fs.readFile)

Difficoltà: mediaRischio: basso

Applicare la correzione al codice sorgente Node.js o alla configurazione del package.json / sistema operativo.

  1. Ispezionare la riga evidenziata dal codice di errore o stack trace
  2. Aggiornare la sintassi di import/export, la gestione degli stream o le chiamate di rete
  3. Riavviare il processo Node.js o il demone di produzione (PM2/systemd) per verificare la correzione
terminal
node app.js

Domande frequenti

Come risolvere l'errore Errore Node.js: ERR_FS_FILE_TOO_LARGE (File Superiore a 2 GB in fs.readFile) in Node.js?

La funzione 'fs.readFile()' alloca l'intero contenuto del file in un singolo oggetto Buffer; poiché la dimensione massima ammessa per un Buffer è di circa 2GB (2147483647 byte), file più grandi devono essere letti tramite 'fs.createReadStream()'.

Approfondimenti

Schede correlate