Node.js 无法删除文件,我无法获取详细的eNot

Node.js 无法删除文件,我无法获取详细的eNot,node.js,fs,Node.js,Fs,我正在尝试完成一项简单的任务,删除一个文件。这个错误并没有告诉我为什么不能删除这个文件。关于它可能是什么以及我如何在将来发现更多详细错误的想法 我的代码: var fs = require('fs'); fs.unlink('/file/path.jpg', function(err){ if (err) throw err; }); DEBUG: DEBUG: /Users/vartanarabyan/Development/NodeJS/orcha/routes/docume

我正在尝试完成一项简单的任务,删除一个文件。这个错误并没有告诉我为什么不能删除这个文件。关于它可能是什么以及我如何在将来发现更多详细错误的想法

我的代码:

var fs = require('fs');

fs.unlink('/file/path.jpg', function(err){
    if (err) throw err;
});
DEBUG: 

DEBUG: /Users/vartanarabyan/Development/NodeJS/orcha/routes/document.js:67

DEBUG:              if (err) throw err;

DEBUG:                    ^

DEBUG: Error: ENOENT, unlink '/Users/vartanarabyan/Development/NodeJS/orcha/public/uploads/5d78abfefd5ff47398103ada55d9be47'

DEBUG: Program node app exited with code 1
我的错误:

var fs = require('fs');

fs.unlink('/file/path.jpg', function(err){
    if (err) throw err;
});
DEBUG: 

DEBUG: /Users/vartanarabyan/Development/NodeJS/orcha/routes/document.js:67

DEBUG:              if (err) throw err;

DEBUG:                    ^

DEBUG: Error: ENOENT, unlink '/Users/vartanarabyan/Development/NodeJS/orcha/public/uploads/5d78abfefd5ff47398103ada55d9be47'

DEBUG: Program node app exited with code 1

enoint
表示
没有这样的文件或目录
。您正试图删除一个不存在的文件。

确定通过使用fs.unlinkSync(path)

修复了该问题。该文件位于准确的路径,因此不可能为真。您的
unlink
引用了
path.jpg
,但错误仅显示
。/5D78ABFEFD5FF47398103AD55D9BE47
。是否需要添加一个<代码> jpg p/代码>扩展,也许这只是一个示例路径,所以我不粘贴一个长THOSTPOST <代码> Ls/Upvs/ValTalabayyA/Dealths/Unga/Pualth/Pualths/<代码>输出。我不认为这是一个令人满意的解决方案:如果删除文件,则只在进程中阻塞时才能工作,你的代码中可能有一个未被检测到的种族条件,它稍后会找到另一种方法来攻击你。如果你不知道为什么你所做的似乎能解决问题,那么你可能还没有真正解决它。除非这是一次性使用的“一次性”代码,否则请仔细考虑一下发生了什么。@ebohlman,如果finder/explorer打开了目录,并且您试图删除的文件存在,则认为它正在启动,并且在该进程关闭之前不会被删除。这有点奇怪,因为该文件实际上没有被使用,也没有被阻止。