如何使用 Node.js 模块?
我最近在一个新的 Linode 盒子上安装了 Node.js,我认为我处于一种奇怪的情况,我无法使用 require() 加载任何第三方模块。
我已经安装了 npm
并通过 npm
成功安装了模块,但是每当我尝试 require
其中一个模块(或者只是我的一些模块)时,自己的代码位于同一目录中),Node.js 抛出
一个错误
,表示找不到该模块。
对于为什么会发生这种情况有什么想法吗?
下面是一个错误消息示例:
root@li200-141:/home/mike# npm install续集 npm 错误!别! npm 错误!别!不建议以 root 身份运行 npm! npm 错误!别!说真的,不要这样做! npm 错误!别! npm info 如果以 ok 结尾则有效 npm 信息版本 0.2.2 npm 信息获取 http://registry.npmjs.org/sequelize/-/[电子邮件受保护] npm info install [电子邮件受保护] npm info activate [电子邮件受保护] npm 信息构建成功:[电子邮件受保护] 好的 root@li200-141:/home/mike# 节点 > var n = require('sequelize').Sequelize 错误:没有这样的本机模块续集 在 requireNative (node.js:83:32) 在 cwdRequire (回复:27:10) 在 [对象上下文]:1:9 在 Interface.
(回复:96:19) 在 Interface.emit(事件:27:15) 在 Interface._ttyWrite (阅读行:295:12) 在 Interface.write (readline:132:30) 在 Stream. (回复:77:9) 在 Stream.emit(事件:27:15) 在 IOWatcher.callback (网络:489:16)
I recently installed Node.js on a fresh Linode box, and I think I'm in a weird situation where I can't use require()
to load any third party modules.
I've installed npm
and have successfully installed modules via npm
, but whenever I try to require
one of the modules (or just some of my own code in the same directory), Node.js throws
an error
saying it can't find the module.
Any thoughts as to why this might be happening?
Here's an example error message:
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/-/[email protected] npm info install [email protected] npm info activate [email protected] npm info build Success: [email protected] 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)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
显然,node v0.2.2 中存在一个错误,导致 require 无法从 REPL 正常工作。
尝试将代码放入 .js 文件中。这对我有用。
Apparently, there is a bug in node v0.2.2 that prevents require from working properly from the REPL.
Try putting your code in a .js file instead. That worked for me.