Node.JS fs.rename不起作用

在Debian Wheezy上重命名文件不能使用fs.rename或fs.renameSync。

这只发生在从/ tmp /移动到另一个位置的文件中。

报告的错误是:EXDEV,不允许跨设备链接。

这是另一个适用于我的解决scheme:

var fs = require("fs"), util = require('util'); ... //fs.renameSync(files.upload.path, "/tmp/test.png"); var readStream = fs.createReadStream(files.upload.path) var writeStream = fs.createWriteStream("/tmp/test.png"); util.pump(readStream, writeStream, function() { fs.unlinkSync(files.upload.path); }); 

Debian Wheezy默认使用tmpfs作为/ tmp文件夹。

这可以通过修改/ etc / default / rcS来closures。

 RAMTMP=yes 

必须设置为

 RAMTMP=no