Domanda

Recentemente ho installato Node.js su una scatola Linode fresco, e penso di essere in una situazione strana in cui non posso usare require() per caricare tutti i moduli di terze parti.

Ho installato npm e installato con successo i moduli via npm, ma ogni volta che provo a require uno dei moduli (o solo una parte del mio codice nella stessa directory), Node.js throws un error dicendo che non riesce a trovare il modulo.

Qualche idea sul perché questo potrebbe accadere?

Ecco un esempio di messaggio di errore:

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)
È stato utile?

Soluzione

A quanto pare, c'è un bug nel nodo v0.2.2 che impedisce richiedono di funzionare correttamente dal REPL.

Prova a mettere il codice in un file .js, invece. Che ha lavorato per me.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top