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-parserexpress被列为package.json依赖关系,然后删除整个node_modules目录,并使用npm i干净地安装依赖关系。

它看起来像mime-typesmime-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中。