3
A
回答
3
它用於EXDEV在Linux上:
見man rename
手冊頁:
EXDEV oldpath和NEWPATH不在同一個安裝的文件系統。 (Linux的允許文件系統被安裝在多個點, 但重命名()在不同不起作用掛載點,即使 如果同一個文件系統被安裝在兩個。)
這個錯誤也可以用於在有ERROR_NOT_SAME_DEVICE
在Windows上,請參閱:
欲瞭解更多信息,請參閱:
Winerror.h中0x80070011
#define ERROR_NOT_SAME_DEVICE
系統無法將文件移動到不同的磁盤驅動器。
3
這聽起來像你試圖通過「設備」(分區)邊界重命名文件。
說/tmp
是與/
不同的分區。這意味着,你不能做到這一點:
fs.rename('/tmp/myfile.txt', '/myfile.txt', ...)
如果你想做到這一點,你需要先副本文件(同樣適用於fs.renameSync()
還有,很明顯)
到其新位置,然後刪除舊文件。有一些模塊,如mv
,可以幫助你。