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