Express.js找不到模块'mime-types'
我试图运行一个简单的快速服务器与身体分析器:
var express = require('express'); var bodyParser = require('body-parser'); var app = express(); app.use(bodyParser.json());
我意识到这不再与快递捆绑在一起,并且双重检查了这两个软件包都安装有:
npm install -s express body-parser
我得到的错误是:
module.js:472 throw err; ^ Error: Cannot find module 'mime-types' at Function.Module._resolveFilename (module.js:470:15) at Function.Module._load (module.js:418:25) at Module.require (module.js:498:17) at require (internal/module.js:20:19) at Object.<anonymous> (/home/osboxes/.nvm/versions/node/v7.2.0/lib/node_modules/body-parser/node_modules/type-is/index.js:16:12) at Module._compile (module.js:571:32) at Object.Module._extensions..js (module.js:580:10) at Module.load (module.js:488:32) at tryModuleLoad (module.js:447:12) at Function.Module._load (module.js:439:3)
我也试过:
npm install -s mime-types
这没有效果。
注:我通过logging之前和之后证实,第4行是错误发生的地方。
确保body-parser
和express
被列为package.json
依赖关系,然后删除整个node_modules
目录,并使用npm i
干净地安装依赖关系。
它看起来像mime-types
是mime-types
的依赖关系type-is
body-parser
已经列为依赖项,确保所有这些安装正确,如果不安装它们。 在安装mime-types
,你不需要使用--save
标志,因为你不需要使它成为你的软件包的依赖,因为你已经把body-parser
列为一个依赖,如果有什么可能导致另一个问题因为你可能与body-parser
/ type-is
有不同的版本要求。
另外,我不相信npm的保存标志是–s是--save
或者-S
。
npm install需要3个独立的可选标志,它们保存或更新你的主package.json中的软件包版本:
-S,–save:包会出现在你的依赖关系中。
-D,–save-dev:包会出现在你的devDependencies中。
-O,–save-optional:包将出现在你的OptionalDependencies中。