Frage

Ich habe vor kurzem installiert Node.js auf einem frischen Linode Box, und ich glaube, ich in einer seltsamen Situation bin, wo ich nicht require() alle Module von Drittanbietern laden können.

Ich habe npm installiert und erfolgreich Module über npm installiert, aber wenn ich versuche, eines der Module require (oder nur einige meiner eigenen Code im selben Verzeichnis) Node.js throws ein error sagen, es ist das Modul nicht finden kann.

Alle Gedanken, warum dies passiert sein könnte?

Hier ist ein Beispiel Fehlermeldung:

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)
War es hilfreich?

Lösung

Offenbar gibt es einen Fehler in Knoten v0.2.2, dass verhindert erfordern ordnungsgemäß aus dem REPL arbeiten.

Versuchen Sie den Code in einer JS-Datei setzen, statt. Das funktioniert für mich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top