2017-04-04 86 views

回答

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,可以幫助你。