javascript - "internal/modules/cjs/loader.js:582 lançar erro"


Estou a receber o seguinte erro na consola: Erro: Não é possível encontrar o módulo.

Aqui está o erro completo. O que devo fazer?

internal/modules/cjs/loader.js:582
    throw err;
    ^

Error: Cannot find module 'C:\Users\User\Desktop\NodeJsProject\app.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:580:15)
    at Function.Module._load (internal/modules/cjs/loader.js:506:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:741:12)
    at startup (internal/bootstrap/node.js:285:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)

Resposta #1

Para Todos => Windows, Linux, Mac

  1. Eliminar o diretório node_modules
  2. Eliminar o ficheiro package-lock.json
  3. Execute npm install
  4. Execute npm start

Para Linux

rm -rf node_modules package-lock.json && npm install && npm start

Resposta #2

Tive o mesmo problema quando tentei pela primeira vez no node js.
Percebi que este problema estava a acontecer comigo porque tinha alguns ficheiros .js com os mesmos nomes em diretórios diferentes, que estavam no mesmo diretório principal.
Criei outro diretório fora da pasta principal do projeto e criei um ficheiro .js.
Depois disso, correu bem.
ex- app.js

Resposta #3

tente o seguinte comando

remover node_modules e package-lock.json

rm -rf node_modules package-lock.json

então execute o seguinte comando para instalar as dependências

npm install

finalmente, execute o seu pacote com o seguinte comando.

npm start

Resposta #4

1. Leia a mensagem de erro!

Leia a mensagem de erro. A primeira linha da segunda parte diz :

Error: Cannot find module 'C:\Users\User\Desktop\NodeJsProject\app.js'

Então, a primeira coisa a verificar é: o ficheiro existe?

No Windows, abra um prompt de comando (WinKey+r, digite cmd, pressione Enter). Execute :

dir C:\Users\User\Desktop\NodeJsProject\app.js

Se a resposta for - O sistema não consegue encontrar o caminho especificado. - ou - Ficheiro Não Encontrado - então sabe que o ficheiro não existe.


Da mesma forma, no Linux/Unix (no meu caso MSYS2 no Windows), execute

ls "C:\Users\User\Desktop\NodeJsProject\app.js"
ls: cannot access 'C:\Users\User\Desktop\NodeJsProject\app.js': No such file or directory

Assim, se no Linux você receber No such file or directory, então sabe que o ficheiro não existe.

2. Tente executar npm install

Se a Secção 1 acima não resolveu o seu problema, tente executar npm install, depois npm start.

3. Último recurso: experimente esta resposta

Se nenhuma das opções acima resolveu o seu problema, a minha última sugestão é:

  1. apague o diretório node_modules,
  2. eliminar o ficheiro package-lock.json,
  3. execute npm install,
  4. execute npm start.

4. Se o erro ocorrer no VS Code

Nota:
O erro pode ocorrer sem razão aparente ao depurar no Visual Studio Code.
Se receber o erro dentro do VS Code, veja se esta resposta ajuda.

5. Como reproduzir o seu erro

Presumivelmente, já instalou o Node.js no seu computador.
Se não, faça o download e instale.

A mensagem de erro é fácil de reproduzir. Após instalar o Node.js, abra uma linha de comando e execute:

node thisFileDoesNotExist.js
node:internal/modules/cjs/loader:1078
  throw err;
  ^

Error: Cannot find module 'C:\thisFileDoesNotExist.js'
[90m    at Module._resolveFilename (node:internal/modules/cjs/loader:1075:15)[39m
[90m    at Module._load (node:internal/modules/cjs/loader:920:27)[39m
[90m    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)[39m
[90m    at node:internal/main/run_main_module:23:47[39m {
  code: [32m'MODULE_NOT_FOUND'[39m,
  requireStack: []
}

Node.js v18.14.2

6. Como executar node <someFile.js> sem um erro

Para executar o Node.js no terminal sem erro, na linha de comandos do Windows, execute:

echo console.log('\nHello world!')> hello.js
node hello.js

Num terminal Linux, experimente:

echo "console.log('\nHello world\!\n')"> hello.js
node hello.js

Em ambos os casos, espere que a resposta seja:

Hello world!

Se você apagar hello.js e depois executar node hello.js, deverá mais uma vez obter o erro sobre o qual perguntou.

Referências

  • MSYS2 | página de download
  • A solução mais drástica para resolver o erro
  • Visual Studio Code | página de download
  • Responder sobre o que fazer se o erro ocorrer no VS Code
  • Como criar um Exemplo Mínimo e Reproduzível
  • Node.js | página de download