Comment puis-je utiliser des modules Node.js?
-
26-09-2019 - |
Question
J'ai récemment installé Node.js sur une boîte de Linode frais, et je pense que je suis dans une situation bizarre où je ne peux pas utiliser require()
pour charger les modules tiers.
J'ai installé npm
et ai installé avec succès des modules via npm
, mais chaque fois que j'essaie de require
l'un des modules (ou juste une partie de mon propre code dans le même répertoire), Node.js throws
une error
disant qu'il ne peut pas trouver le module.
Toutes les pensées pour lesquelles cela pourrait se produire?
Voici un exemple de message d'erreur:
root@li200-141:/home/mike# npm install sequelize
npm ERR! sudon't!
npm ERR! sudon't! Running npm as root is not recommended!
npm ERR! sudon't! Seriously, don't do this!
npm ERR! sudon't!
npm info it worked if it ends with ok
npm info version 0.2.2
npm info fetch http://registry.npmjs.org/sequelize/-/sequelize@0.4.2.tgz
npm info install sequelize@0.4.2
npm info activate sequelize@0.4.2
npm info build Success: sequelize@0.4.2
npm ok
root@li200-141:/home/mike# node
> var n = require('sequelize').Sequelize
Error: No such native module sequelize
at requireNative (node.js:83:32)
at cwdRequire (repl:27:10)
at [object Context]:1:9
at Interface.<anonymous> (repl:96:19)
at Interface.emit (events:27:15)
at Interface._ttyWrite (readline:295:12)
at Interface.write (readline:132:30)
at Stream.<anonymous> (repl:77:9)
at Stream.emit (events:27:15)
at IOWatcher.callback (net:489:16)
La solution
Apparemment, il y a un bogue dans le nœud v0.2.2 qui empêche besoin de fonctionner correctement à partir du REPL.
Essayez de mettre votre code dans un fichier .js à la place. Cela a fonctionné pour moi.