Fala pessoal!
O npx, introduzido com a versão 5.2 do npm (lá em 2017), é um comando superútil que permite executar um pacote global sem ter que instalá-lo previamente com npm -g.
Hoje venho trazer a solução para um problema chatinho, mas fácil de resolver. Muitas vezes, ao executar pela primeira vez o comando npx de uma instalação do Node.js (que inclui tanto o npm quanto o npx) no Windows, aparece uma mensagem de erro semelhante a esta:
npm error code ENOENT
npm error syscall lstat
npm error path C:\Users\XXXXX\AppData\Roaming\npm
npm error errno -4058
npm error enoent ENOENT: no such file or directory, lstat 'C:\Users\XXXXX\AppData\Roaming\npm'
npm error enoent This is related to npm not being able to find a file.
npm error enoent
npm error A complete log of this run can be found in: C:\Users\XXXXX\AppData\Local\npm-cache_logs\2024-10-28T20_59_25_355Z-debug-0.log
O erro se deve à falta da pasta npm no caminho indicado na 5ª linha. Essa pasta deveria ter sido criada pela instalação do Node.js, mas, por algum motivo, não o foi. Segundo esta issue fechada em dezembro de 2023 no repositório npm/cli, o bug foi corrigido nas versões do mais recentes do npm. No entanto, ainda assim fui capaz de reproduzi-lo em uma versão relativamente atualizada do utilitário.
A correção, como disse anteriormente, é simples. Vamos ao passo a passo.
- Abra o Windows Explorer e, na barra de endereços, digite
%APPDATA%. Será aberta a pastaC:\Users\XXXXX\AppData\Roaming, onde XXXXX é o nome do usuário autenticado no Windows. - Nessa pasta, clique com o botão direito do mouse, selecione Novo e depois Pasta. Renomeie a nova pasta criada para
npm.
E isso é tudo. A próxima execução do npx deve ocorrer sem erros.
Happy coding!
Créditos da imagem de destaque: Freepik
