Après avoir téléchargé un module depuis GitHub et suivi les instructions pour le construire, j'essaie de l'intégrer dans un projet existant en utilisant :
> npm install ../faye
Cela semble fonctionner :
> npm list
/home/dave/src/server
faye@0.7.1
cookiejar@1.3.0
hiredis@0.1.13
redis@0.7.1
Mais Node.js ne peut pas trouver le module :
> node app.js
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module 'faye'
at Function._resolveFilename (module.js:334:11)
at Function._load (module.js:279:25)
at Module.require (module.js:357:17)
at require (module.js:368:17)
at Object. (/home/dave/src/server/app.js:2:12)
at Module._compile (module.js:432:26)
at Object..js (module.js:450:10)
at Module.load (module.js:351:31)
at Function._load (module.js:310:12)
at Array.0 (module.js:470:10)
Je veux vraiment comprendre ce qui se passe ici, mais je suis un peu perdu quant à l'endroit où chercher ensuite. Des suggestions ?
9 votes
Le répertoire
node_modules
doit être situé à la racine de votre projet, aux côtés deapp.js
dans votre cas. Pourquoi avez-vous utilisé..
dans le chemin d'installation de npm ?0 votes
Mon intention était d'avoir deux répertoires - un pour les sources de faye provenant de github et un autre pour mon projet qui nécessite faye. En installant à partir du répertoire faye (../faye), je m'attendais à ce qu'il installe le module localement sous node_modules, ce qui semble avoir été le cas. Je ne veux pas installer globalement car il y a d'autres projets qui dépendent d'une version stable de faye.
3 votes
Après avoir changé "npm install ../faye" en "npm install ../faye/build", cela fonctionne comme prévu. Je ne sais pas si c'est typique, mais faye crée un répertoire de build lorsqu'il est construit et y place une copie de package.json. npm ne se plaint pas de package.json au niveau racine, mais il fait référence à des fichiers qui n'existent pas à ce niveau.
4 votes
J'ai résolu le problème, mais je n'ai pas vraiment obtenu de réponse à ma vraie question, qui était comment résoudre ce problème. Je vais essayer de proposer quelques suggestions pour améliorer npm et/ou node afin de faciliter aux débutants d'éviter cette situation.
1 votes
Parcourez ce lien, vous pourrez peut-être avoir une idée de l'endroit précis où la recherche de vos modules échoue..
0 votes
Possible duplicate de Comment importer des modules globaux dans Node ? J'obtiens l'erreur "Erreur : impossible de trouver le module "
1 votes
Vérifiez si vous vous trouvez dans le même dossier où vous l'avez installé ? si vous ne l'avez pas installé globalement.
0 votes
Voici ce que je faisais incorrectement et j'ai passé mon vendredi après-midi,
const wpt = require("src/wpt");
qui aurait dû êtreconst wpt = require("./src/wpt");
. Le chemin du module ou du fichier JavaScript principal était incorrect. Espérons que cela aide quelqu'un.