Linux fs.writeFileSync() 在应用程序关闭之前不会写入文件

Linux fs.writeFileSync() doesnt write to files until app is closed

使用 windows 我目前使用的代码:

var file = JSON.parse(fs.readFileSync(filePath), 'utf8');
file[id] = JSON.parse(`{"name":name}`);
fs.writeFileSync(filePath, JSON.stringify(file,null,2);

这在 windows 上工作得很好。但是,当我将此代码传输到我的 linux 机器上进行跨平台测试时。在我停止 运行 应用程序之前,文件不会更新。

我尝试过的:

running 'chmod -r 0777 path/to/dir/'

checked if it was due to max file open limit (not the case as my limit is extremely large)

Linux: Mint-Linux 4.10.0-38-generic #42~16.04.1-Ubuntu (来自 uname -a)

节点:8.10.0

编辑:intelliJ idea

我也运行直接从 intelliJ 中的 运行 按钮输入代码,我不确定这是否是原因,如果是原因,为什么会这样。

将选项 {mode: 0o777} 添加为写入中的最后一个 arg 修复了文件未更新的问题。