File System (fs) e Streams
Error: EXDEV: cross-device link not permitted, rename '/tmp/upload.jpg' -> '/data/images/upload.jpg' – Node.js EXDEV_FS
'fs.rename()' delega alla chiamata di sistema atomica rename(2), che non può spostare file tra file system, partizioni o volumi di montaggio differenti (es. da /tmp a /var/data); si risolve usando 'fs.copyFile()' seguito da 'fs.unlink()' o 'fs-extra.move()'.
Cosa significa questo errore?
'fs.rename()' delega alla chiamata di sistema atomica rename(2), che non può spostare file tra file system, partizioni o volumi di montaggio differenti (es. da /tmp a /var/data); si risolve usando 'fs.copyFile()' seguito da 'fs.unlink()' o 'fs-extra.move()'.
Messaggio originale
Error: EXDEV: cross-device link not permitted, rename '/tmp/upload.jpg' -> '/data/images/upload.jpg'Contesto e parole chiave
Alias
- EXDEV cross-device link not permitted Node.js fs.rename
Messaggi alternativi
- collegamento cross-device non consentito in fs.rename tra partizioni
Prodotti
- Node.js Runtime (v18 LTS, v20 LTS, v22 LTS, v24)
Piattaforme
- Linux
- macOS
- Windows
Parole chiave
- errore-nodejs-exdev-cross-device-link-fs-rename
- EXDEV_FS
- File System (fs) e Streams
- javascript-backend
- node
- nodejs
- nodejs.fs.exdev-cross-device-link
Cause possibili
Origine del problema per Errore Node.js: EXDEV: cross-device link not permitted (fs.rename tra Dischi)
'fs.rename()' delega alla chiamata di sistema atomica rename(2), che non può spostare file tra file system, partizioni o volumi di montaggio differenti (es. da /tmp a /var/data); si risolve usando 'fs.copyFile()' seguito da 'fs.unlink()' o 'fs-extra.move()'.
molto comuneDiagnosi
Diagnostica di runtime o stack trace per Errore Node.js: EXDEV: cross-device link not permitted (fs.rename tra Dischi)
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.
node --trace-warnings --trace-uncaught app.jsRisoluzione
Risoluzione per Errore Node.js: EXDEV: cross-device link not permitted (fs.rename tra Dischi)
Applicare la correzione al codice sorgente Node.js o alla configurazione del package.json / sistema operativo.
- Ispezionare la riga evidenziata dal codice di errore o stack trace
- Aggiornare la sintassi di import/export, la gestione degli stream o le chiamate di rete
- Riavviare il processo Node.js o il demone di produzione (PM2/systemd) per verificare la correzione
node app.jsDomande frequenti
Come risolvere l'errore Errore Node.js: EXDEV: cross-device link not permitted (fs.rename tra Dischi) in Node.js?
'fs.rename()' delega alla chiamata di sistema atomica rename(2), che non può spostare file tra file system, partizioni o volumi di montaggio differenti (es. da /tmp a /var/data); si risolve usando 'fs.copyFile()' seguito da 'fs.unlink()' o 'fs-extra.move()'.
Approfondimenti
- Node.js Official Documentation / Node.js Errors Reference documentazione_ufficiale