找不到强大的模块 - 节点.js
Cannot find module formidable - Node.js
我开始使用node.j进行开发,我遇到了一个关于使用模块'强大'的问题。
我有这个错误:
错误:找不到模块"强大"
以下是使用"npm ls 已安装"安装的模块列表:
├─┬ express@2.5.9│ ├── connect@1.8.7│ ├── mime@1.2.4│ ├── mkdirp@0.3.0│ └── qs@0.4.2├── formidable@1.0.9├─┬ 节点-inspector@0.1.10│ ├── paperboy@0.0.3│ └─┬ socket.io@0.8.7│ ├── policyfile@0.0.4│ ├── redis@0.6.7│ └─┬ socket.io-client@0.8.7│ ├── 丑陋-js@1.0.6│ ├── 网络套接字-client@1.0.0│ └── xmlhttprequest@1.2.2├─┬ npm@1.1.21│ ├── abbrev@1.0.3│ ├── archy@0.0.2│ ├── 块-stream@0.0.5│ ├── chownr@0.0.1│ ├── fstream@0.1.18│ ├─┬ 流-npm@0.0.6│ │ └── 流-ignore@0.0.5│ ├── 优雅-fs@1.1.8│ ├── inherits@1.0.0│ ├── ini@1.0.2│ ├── 鲁-cache@1.0.5│ ├── minimatch@0.2.2│ ├── mkdirp@0.3.0│ ├─┬ 节点-gyp@0.4.1│ │ ├── ansi@0.0.4│ │ └── glob@3.1.9│ ├── 节点-uuid@1.3.3│ ├── nopt@1.0.10│ ├── 原型list@1.0.0│ ├── read@0.0.2│ ├── request@2.9.153│ ├── rimraf@2.0.1│ ├── semver@1.0.13│ ├── slide@1.1.3│ ├── tar@0.1.13│ ├── UID-number@0.0.3│ └── which@1.0.5└─┬ socket.io@0.9.6 ├── policyfile@0.0.4 ├── redis@0.6.7 └─┬ socket.io-client@0.9.6 ├─┬ 主动-x-obfuscator@0.0.1 │ └── zeparser@0.0.5 ├── 丑陋-js@1.2.5 ├─┬ ws@0.4.14 │ ├── commander@0.5.2 │ └── options@0.0.3 └── xmlhttprequest@1.2.2
我补充说,它是唯一产生此错误的模块。
另外,我不太了解封装某些模块的方式,似乎npm正在使用模块安装命令的目录中直接安装模块,并且我注意到强大的模块已安装在第一次安装的express/connect/模块中。
您能否给我有关模块安装树的更多信息。
感谢您的回复
干杯
接受的答案看起来非常全面和正确,但这对我有用:
npm install -d
d 代表依赖关系(我认为(
要了解模块分辨率,请查看模块文档,尤其是从node_modules
文件夹加载。
例如,如果位于
'/home/ry/projects/foo.js'
的文件称为require('bar.js')
,则节点将按此顺序查找以下位置:
/home/ry/projects/node_modules/bar.js
/home/ry/node_modules/bar.js
/home/node_modules/bar.js
/node_modules/bar.js
NPM 通过将模块安装到:
./node_modules/{module}
因此,当您使用 npm install formidable
时,它将创建模块并将其安装到:
./node_modules/formidable
但是,这意味着只有当前目录中的脚本(包括子目录(才能成功使用 require('formidable')
:
./foo.js
./lib/bar.js
./src/baz.js
./src/sub/qux.js
但是,您可以将模块安装为"全局",但您必须使用 -g
或 --global
明确要求它:
npm install -g formidable
然后,系统上的任何脚本都应该能够require('formidable')
。
至于树输出,您当前目录中有 5 个已安装的模块:
-
express
-
formidable
-
node-inspector
-
npm
-
socket.io
树中的其他所有内容都是这些模块的依赖项及其依赖项等的列表,但只有这 5 个可用于脚本中的require(...)
。
相关文章:
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 节点.js将变量显示为 HTML
- 如何解决'窗口未定义'终端上的节点JS出错
- S3文件上传文件对象使用节点js
- 在节点 js 中使用护照本地模块验证(登录)密码时出错
- 嵌套的promise节点js
- 使用节点JS发送电子邮件
- 节点JS重定向循环
- 起始节点.js用于并行的线程池
- 获取图像节点js的主色
- 调整节点js中的图像大小
- 节点JS express和控制台输出到命令行与浏览器
- 节点JS:时间机器坏了——timekeeper.travel不做时间旅行
- 如何访问日期并将其插入数据库?节点.JS&MongoDB
- 节点.js快速删除 req.body 不起作用
- 节点.js中的嵌套异步操作
- 如何在核心php应用程序中使用节点js json Web令牌库
- 使用节点js的Bootstrap和Jquery
- 节点.js加密输入/输出类型
- 节点.js在不可能的地方打印“未定义”