我最近安装的的Node.js 的上一个新鲜的Linode框,我想我在一个奇怪的情况,我不能用require()加载任何第三方模块。

我已经安装npm并已成功地安装了通过npm模块,但每当我试图require的一个模块(或只是一些我自己的代码在同一个目录)的的Node.js throws一个error说,它不能找到模块。

任何想法,为什么这可能发生?

下面是一个例子错误消息:

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)
有帮助吗?

解决方案

显然,存在节点v0.2.2中的错误,以防止从REPL正常工作需要。

尝试把你的代码在一个.js文件来代替。这为我工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top