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 ?

8voto

user2921139 Points 1211

J'ai eu l'erreur du module "optimist" et j'ai juste fait "npm install" pour la résoudre. J'ai passé cette erreur.

https://github.com/mbloch/mapshaper/issues/12

3voto

Dmitry Points 785

Sous Windows, si vous venez de faire une installation propre et que vous obtenez ce message, vous devez vider votre cache npm dans le dossier \AppData\Roaming

3voto

user1959076 Points 375

$ vim /etc/profile.d/nodejs.sh

NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript
export NODE_PATH="$NODE_PATH"

0 votes

Elle est présente par défaut. Pour les utilisateurs, il est chargé, mais lorsqu'il est exécuté en tant que Root, il ne l'est pas, il doit donc être inclus dans le chemin de l'utilisateur Root.

2voto

P M Points 13

Pour Windows, à partir de Nodejs ne trouve pas le module installé sous Windows ? Ce qui a fonctionné pour moi est d'exécuter le lien npm comme dans

npm link wisp

0 votes

Un mot d'avertissement cependant - j'ai fait cela mais je n'ai pas pu ensuite utiliser mon code zippé avec AWS lambda. Je devais avoir le node_module créé localement comme dans npm install wisp --save (sans l'option -g)

2voto

santhosh v Points 31

Je l'ai fait de manière simple...

  1. Désinstaller le nœud à partir du panneau de contrôle [Windows 7].
  2. Réinstaller le nœud
  3. Installer le rapporteur npm install --global --verbose protractor
    Mettez à jour le gestionnaire de pilotes Web.

fonctionne bien pour moi.

J'espère que cela vous aidera....

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