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)
Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top