222 votes

NPM global install "cannot find module" (Impossible de trouver le module)

J'ai écrit un module que j'ai publié sur npm il y a un instant (https://npmjs.org/package/wisp).

Il s'installe donc bien à partir de la ligne de commande :

$ npm i -g wisp

Cependant, lorsque je l'exécute à partir de la ligne de commande, je continue à obtenir une erreur indiquant qu'Optimist n'est pas installé :

$ wisp 
Error: Cannot find module 'optimist'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/wisp/wisp:12:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/wisp/wisp:96:4)
    at Module._compile (module.js:449:26)
    at Object.exports.run (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/coffee-script.js:68:25)
    at compileScript (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/command.js:135:29)
    at fs.stat.notSources.(anonymous function) (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/command.js:110:18)

Cependant, j'ai spécifié dans package.json comme une dépendance :

{
  "name": "wisp",
  "author": "Brendan Scarvell <bscarvell@gmail.com>",
  "version": "0.1.0",
  "description": "Global nodejs file server",
  "dependencies": {
    "optimist": "~0.3.4"
  },
  "repository": "git://github.com/tehlulz/wisp",
  "bin": {
    "wisp" : "./wisp"
  }
}

Quelqu'un sait-il ce qu'il faut faire pour que cela fonctionne ? Je sais que cela a à voir avec la partie bin qui ajoute l'exécutable à bin et les node_modules dans ce répertoire sont vides. Je ne sais pas comment résoudre ce problème.

0 votes

Que se passe-t-il si vous installez sans l'option -g ?

0 votes

Il installe un dossier node_modules dans le répertoire courant qui contient wisp.

0 votes

Je sais. Tu as toujours l'erreur ?

0voto

mike Points 184

J'ai eu la même erreur que le PO, mais en fouillant dans les journaux, j'ai pu voir que sh: node: command not found .

Il s'avère que le programme /usr/bin/node (lien symbolique) n'est plus installé avec apt install nodejs . Une fois que les liens symboliques sont établis /usr/bin/node' to nodejs , npm install -g @angular/cli` a réussi.

La façon correcte d'installer ceci sur Debian est la suivante apt install nodejs-legacy .

0voto

Rainhider Points 601

J'ai dû ajouter C:\Users\ {Username} \AppData\Roaming\npm à mes variables d'environnement et j'ai pu installer des trucs.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X