2010-09-29 5 views
0

J'ai récemment installé Node.js sur une nouvelle boîte Linode, et je pense que je suis dans une situation étrange où je ne peux pas utiliser require() pour charger des modules tiers.Comment utiliser les modules Node.js?

J'ai installé npm et ont des modules installés avec succès par l'intermédiaire 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.jsthrows un error disant il ne peut pas trouver le module.

Des pensées quant à pourquoi cela pourrait se produire?

Voici un exemple de message d'erreur:

[email protected]:/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/-/[email protected] 
npm info install [email protected] 
npm info activate [email protected] 
npm info build Success: [email protected] 
npm ok 

[email protected]:/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) 

Répondre

2

Apparemment, il y a un bogue dans le nœud v0.2.2 qui empêche besoin de fonctionner correctement à partir du REPL. Essayez à la place de placer votre code dans un fichier .js à la place. Cela a fonctionné pour moi.

+0

Peut confirmer. Vous ne pouvez pas require un module à partir de la ligne de commande dans la dernière version de Node.JS. Triste mais vrai. – Andris

+0

Bon à savoir, merci pour l'aide. – Mike

Questions connexes