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