/ / Linux fs.writeFileSync () não grava em arquivos até que o aplicativo seja fechado - javascript, node.js, fs

Linux fs.writeFileSync () não grava em arquivos até que o aplicativo seja fechado - javascript, node.js, fs

Usando o windows meu código atualmente eu uso:

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

Isso funciona muito bem no windows. No entanto, quando transfiro este código para minha máquina linux para testes entre plataformas. O arquivo não é atualizado até que eu pare de executar o aplicativo.

O que eu tentei:

executando "chmod -r 0777 path / to / dir /"

e

verifiquei se era devido ao limite máximo de arquivos abertos (não é o caso, pois meu limite é extremamente grande)

Linux: Mint-Linux 4.10.0-38-genérico # 42 ~ 16.04.1-Ubuntu (do uname -a)

Nó: 8.10.0

Editor: intelliJ ideia

Im também executando o código diretamente do botão de execução em intelliJ, não tenho certeza se esta pode ser a causa, se é a causa por que isso seria o caso.

Respostas:

0 para resposta № 1

Adicionar a opção {mode: 0o777} como o último argumento na gravação corrigiu os arquivos que não foram atualizados.