Pergunta

Eu instalei recentemente Node.js em uma caixa de linode fresca, e acho que estou em uma situação estranha onde não posso usar require() para carregar qualquer módulo de terceiros.

Eu instalei npm e instalou com sucesso módulos via npm, mas sempre que tento require Um dos módulos (ou apenas alguns dos meus próprios código no mesmo diretório), Node.js throws um error dizendo que não pode encontrar o módulo.

Alguma opinião sobre por que isso pode estar acontecendo?

Aqui está uma mensagem de erro de exemplo:

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)
Foi útil?

Solução

Aparentemente, há um bug no nó v0.2.2 que impede que exija funcionar corretamente a partir do REPL.

Tente colocar seu código em um arquivo .js. Isso funcionou para mim.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top