182 votes

Comment importer des modules globaux dans Node ? J'obtiens "Error : Cannot find module <module>" ?

J'essaie d'installer Node sur Mac OSX Lion. Tout semble fonctionner correctement, mais je n'arrive pas à importer de modules depuis mon dossier global de modules. J'obtiens l'erreur suivante,

Error: Cannot find module <module>

Si j'exécute ceci : node -e require.paths la réponse que j'obtiens est la suivante :

[ '/usr/local/lib/node_modules',
  '/Users/Me/.node_modules',
  '/Users/Me/.node_libraries',
  '/usr/local/Cellar/node/0.4.12/lib/node' ]

Ce qui est correct, mes modules sont en effet installés dans /usr/local/lib/node_modules. Cependant, lorsque j'essaie d'exécuter un script, j'obtiens ceci :

Error: Cannot find module 'socket.io'
    at Function._resolveFilename (module.js:326:11)
    at Function._load (module.js:271:25)
    at require (module.js:355:19)
    at Object.<anonymous> (/Users/Me/node/server.js:2:10)
    at Module._compile (module.js:411:26)
    at Object..js (module.js:417:10)
    at Module.load (module.js:343:31)
    at Function._load (module.js:302:12)
    at Array.<anonymous> (module.js:430:10)
    at EventEmitter._tickCallback (node.js:126:26)

Mon fichier .bash_profile ressemble à ceci :

export PATH=/usr/local/mysql/bin:$PATH
export NODE_PATH=/usr/local/lib/node_modules
export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/usr/local/mysql/lib/"

J'apprécierais vraiment de l'aide, je n'ai aucune idée de la raison pour laquelle je ne peux pas importer de bibliothèques.

-2voto

Jamund Ferguson Points 6338

require.paths est obsolète.

Allez dans le dossier de votre projet et tapez

npm install socket.io

qui devrait l'installer dans le dossier local ./node_modules où node le cherchera.

Je garde mes affaires comme ça :

cd ~/Sites/
mkdir sweetnodeproject
cd sweetnodeproject
npm install socket.io

Créer un fichier app.js

// app.js
var socket = require('socket.io')

Exécutez maintenant mon application

node app.js

Assurez-vous que vous utilisez npm >= 1.0 y node >= 4.0 .

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