heroku日志错误是由于multer模块

时间:2018-06-19 09:39:34

标签: heroku multer

heroku logs
2018-06-19T03:01:34.637807+00:00 app[web.1]: 
/app/node_modules/mkdirp/index.js:90
2018-06-19T03:01:34.637822+00:00 app[web.1]: throw err0; 
2018-06-19T03:01:34.637823+00:00 app[web.1]: ^
2018-06-19T03:01:34.637824+00:00 app[web.1]:
2018-06-19T03:01:34.637826+00:00 app[web.1]: Error: EROFS: read-only file  
system, mkdir '/uploads'
2018-06-19T03:01:34.637827+00:00 app[web.1]: at Object.fs.mkdirSync 
(fs.js:885:18)
2018-06-19T03:01:34.637828+00:00 app[web.1]: at Function.sync 
(/app/node_modules/mkdirp/index.js:71:13)
2018-06-19T03:01:34.637829+00:00 app[web.1]: at new DiskStorage 
(/app/node_modules/multer/storage/disk.js:21:12)
2018-06-19T03:01:34.637831+00:00 app[web.1]: at module.exports 
(/app/node_modules/multer/storage/disk.js:65:10)
2018-06-19T03:01:34.637832+00:00 app[web.1]: at new Multer 
(/app/node_modules/multer/index.js:15:20)
2018-06-19T03:01:34.637833+00:00 app[web.1]: at multer 
(/app/node_modules/multer/index.js:95:12)
2018-06-19T03:01:34.637834+00:00 app[web.1]: at Object.<anonymous> 
(/app/server.js:18:16)
2018-06-19T03:01:34.637835+00:00 app[web.1]: at Module._compile 
(module.js:652:30)
2018-06-19T03:01:34.637836+00:00 app[web.1]: at Object.Module._extensions..js 
(module.js:663:10)
2018-06-19T03:01:34.637837+00:00 app[web.1]: at Module.load 
(module.js:565:32)
2018-06-19T03:01:34.637838+00:00 app[web.1]: at tryModuleLoad 
(module.js:505:12)
2018-06-19T03:01:34.637839+00:00 app[web.1]: at Function.Module._load 
(module.js:497:3)
2018-06-19T03:01:34.637840+00:00 app[web.1]: at Function.Module.runMain 
(module.js:693:10)
2018-06-19T03:01:34.637842+00:00 app[web.1]: at startup 
(bootstrap_node.js:188:16)
2018-06-19T03:01:34.637843+00:00 app[web.1]: at bootstrap_node.js:609:3
2018-06-19T03:01:34.715116+00:00 heroku[web.1]: State changed from starting 
to 
crashed
2018-06-19T03:01:34.697597+00:00 heroku[web.1]: Process exited with status 1
2018-06-19T05:52:50.354837+00:00 heroku[web.1]: State changed from crashed to 
starting
2018-06-19T05:52:53.881152+00:00 heroku[web.1]: Starting process with command `   node server.js

我在heroku日志后得到此错误,而我的应用程序未在heroku给出的url上运行 但是heroku web local运行得很好!

帮助解决这个问题! 谢谢!

2 个答案:

答案 0 :(得分:0)

您正在尝试写入/uploads,这是文件系统不允许的。
尝试写入/tmp/uploads/app/tmp/uploads

答案 1 :(得分:0)

这可能应该是/app/uploads而不是/uploads/app文件夹是应用程序的主目录,如果它是相对路径而不是绝对路径,则它很可能以/ app文件夹结尾,但这可能取决于应用程序配置。

我想在这里指出其他细节。在dyno上运行的文件系统应用是短暂的,这意味着在dyno运行时所做的任何更改都将丢失。我们不应该将上传的文件保存到我们的应用程序文件系统中,而应使用某种持久存储,例如Amazon S3。我们在这里有一个示例,说明如何使用Nodejs做到这一点。如果我们上传的文件只是临时文件,那么可以使用dynos文件系统。

__学分:蒂姆