当路径有空格时,NodeJS fs.writeFile 在 linux 上失败

NodeJS fs.writeFile fails on linux when the path has spaces

我正在使用模块 'fs' 执行一些 OS 集成,我执行的其中一个过程是 create/write 系统上的文件。我注意到当使用函数 'writeFile' 并且路径中有空格时程序失败。

例如(工作):

fs.writeFile('/home/john/mypath/myfile.txt', 'blabla', function() {})

例如(失败):

fs.writeFile('/home/john/my path/myfile.txt', 'blabla', function() {})

我得到的错误如下:

{ [Error: ENOENT: no such file or directory'] errno: -2, code: 'ENOENT', syscall: 'open', path: '"/home/john/my path/another cool/project.txt"' }

关于如何解决此问题的任何见解?谢谢!

您需要使用反斜杠转义空格。 即..

fs.writeFile('/home/john/my\path/myfile.txt', 'blabla', function() {})

更新节点后问题不再存在..