"Resolvendo" problema de arquivos ._ nos projetos usando o macOS.
Se você usa o MacOS e armazena seus projetos de programação em um HD externo formatado em ExFAT ou até mesmo em FAT32, com certeza você já se deparou com arquivos ._
em seus projetos.
Esses arquivos são chamados de arquivos de recurso do sistema.
Eles contêm informações sobre outros arquivos, como metadados entre outras coisas.
Esses arquivos irritantes são criados automaticamente pelo sistema quando você usa um disco formatado com outro sistema de arquivos que não seja um nativo do MacOS. Geralmente, esses arquivos podem ser ignorados e não precisam ser excluídos manualmente.
Porém, para um programador, esses arquivos poder causar erros.
Se esses arquivos ._
estiverem presentes em pastas de migrations, eles podem causar problemas ao usar ferramentas como o knex, pois essas ferramentas podem tentar usá-los como arquivos de migração válidos, mas como eles não contêm código válido, isso pode causar erros.
No caso de compiladores, mesmo que esses arquivos ._
não sejam incluídos na lista de arquivos a serem compilados, eles ainda podem causar problemas se eles estiverem presentes no mesmo diretório que os arquivos de código-fonte. Isso pode acontecer se eles forem criados automaticamente quando os arquivos de código-fonte são copiados para um sistema de arquivos diferentes do nativo do MacOS.
De fato eu não queria colocar os codigos dentro do meu NVME principal (o que acabei fazendo por falta de paciencia.)
Certo, após explicar essa breve introdução dos problemas que eu venho tendo com esses aquivos, vou passar uma dica que eu estava usando com meus codigos em desenvolvimento, o conhecido npm run dev.
Eu simplesmente colocava essa linha de codigo em meus scripts:
"dev": "nodemon index.js & nodemon deploy-commands.js & find ./ -name \"._*\" -delete"
Claro que esse comando é para um codigo especifico meu. Porém o mais importante esta logo ali, no segundo comando:
find ./ -name \"._*\" -delete"
Esse comando procura dentro da pasta atual (a do seu projeto) todos os arquivos que o nome contenha o ._
no inicio e após achar, ele deleta esses arquvos.
O problema que eu tinha com isso era de que quando eu queria parar os processos, eu tinha que procurar qual era esse processo usando o comando ps
no terminal. Após isso, com o ID do processo em mãos, eu dava o kill + ID do processo
.
Não deu tempo de fazer um script para isso ser feito. Com certeza, seria muito legal.