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 修复了文件未更新的问题。
使用 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 修复了文件未更新的问题。