javascript - "internal/modules/cjs/loader.js:582 lancer une erreur"


Je reçois l'erreur suivante dans la console : Erreur : Impossible de trouver le module.

Voici l'erreur complète. Que devrais-je faire ?

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)

Réponse #1

Pour Tous => Windows, Linux, Mac

  1. Supprimez le répertoire node_modules
  2. Supprimez le fichier package-lock.json
  3. Exécutez npm install
  4. Exécutez npm start

Pour Linux

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

Réponse #2

J'ai eu le même problème lorsque j'ai essayé pour la première fois sur Node.js.
J'ai remarqué que ce problème m'arrivait parce que j'avais des fichiers .js avec les mêmes noms dans différents répertoires, qui se trouvaient dans le même répertoire principal.
J'ai créé un autre répertoire en dehors du dossier principal du projet et créé un fichier .js.
Après cela, ça a fonctionné correctement.
ex- app.js

Réponse #3

essayez la commande suivante

supprimez node_modules et package-lock.json

rm -rf node_modules package-lock.json

puis exécutez la commande suivante pour installer les dépendances

npm install

Enfin, exécutez votre paquet avec la commande suivante.

npm start

Réponse #4

1. Lisez le message d'erreur !

Lisez le message d'erreur. La première ligne de la deuxième partie dit :

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

Donc, la première chose à vérifier est : le fichier existe-t-il ?

Sous Windows, ouvrez une invite de commandes (Touche Windows+r, tapez cmd, appuyez sur Entrée). Exécutez :

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

Si la réponse est - Le système ne peut pas trouver le chemin spécifié. - ou - Fichier introuvable - alors vous savez que le fichier n'existe pas.


De même, sur Linux/Unix (dans mon cas MSYS2 sur Windows), exécutez

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

Ainsi, si sur Linux vous obtenez Fichier ou répertoire introuvable, alors vous savez que le fichier n'existe pas.

2. Essayez d'exécuter npm install

Si la Section 1 ci-dessus n'a pas résolu votre problème, essayez d'exécuter npm install, puis npm start.

3. Dernier recours : essayez cette réponse

Si aucune des solutions ci-dessus n'a résolu votre problème, mon dernier conseil est de :

  1. supprimez le répertoire node_modules,
  2. supprimez le fichier package-lock.json,
  3. exécutez npm install,
  4. exécutez npm start.

4. Si l'erreur se produit dans VS Code

Remarque :
L'erreur peut survenir sans raison apparente lors du débogage dans Visual Studio Code.
Si vous obtenez l'erreur dans VS Code, voyez si cette réponse peut aider.

5. Comment reproduire votre erreur

On présume que vous avez déjà installé Node.js sur votre ordinateur.
Si ce n'est pas le cas, téléchargez et installez-le.

Le message d'erreur est facile à reproduire. Après avoir installé Node.js, ouvrez une ligne de commande et exécutez :

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. Comment exécuter node <someFile.js> sans erreur

Pour exécuter Node.js dans le terminal sans erreur, dans l'invite de commandes Windows, exécutez :

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

Dans un terminal Linux, essayez :

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

Dans les deux cas, attendez-vous à ce que la réponse soit :

Hello world!

Si vous supprimez hello.js, puis exécutez node hello.js, vous devriez à nouveau obtenir l'erreur dont vous avez parlé.

Références

  • MSYS2 | page de téléchargement
  • La solution la plus drastique pour résoudre l'erreur
  • Visual Studio Code | page de téléchargement
  • Répondez sur ce qu’il faut faire si l’erreur se produit dans VS Code
  • Comment créer un exemple minimal et reproductible
  • Node.js | page de téléchargement