Multer模块将无法启动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Multer模块将无法启动相关的知识,希望对你有一定的参考价值。

我正在使用MEAN堆栈编写网络应用。我像这样通过npm安装了multer:

sudo npm install -g multer

并且我在我的一个路由文件中要求它:

var multer = require("multer");

我正在使用nodemon,并且自从我添加了require语句以来,它每次重新启动时都会引发以下错误。

28 Feb 18:39:13 - [nodemon] restarting due to changes...
28 Feb 18:39:13 - [nodemon] starting `node ./bin/www`
module.js:338
    throw err;
          ^
Error: Cannot find module 'multer'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/Users/jason/Desktop/Node/todoApp/routes/todos.js:8:14)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
28 Feb 18:39:13 - [nodemon] app crashed - waiting for file changes before starting...

在过去两天中,我已经安装了mongo,node和express。我正在运行OS X Yosemite版本10.10.2。

答案

您必须在本地安装模块,而没有-g标志:

$ npm i multer

或者,您可以将全局安装的模块链接到本地​​目录,也可以指定环境变量NODE_PATH,如NodeJS require a global module/package中所示

另一答案

如果使用打字稿,别忘了安装它的类型

npm install @types/multer

以上是关于Multer模块将无法启动的主要内容,如果未能解决你的问题,请参考以下文章

如何使用模块化代码片段中的LeakCanary检测内存泄漏?

我尝试从 multipart api 上传文件和文本数据,但即使我使用 multer 也无法获取文件

无法使用 NestJs 和 Multer 上传文件

我无法将文件上传到我使用 node js multer 指定的目录

Multer - 无法读取未定义的属性“缓冲区”

具有清晰上传和调整大小的 Multer-S3