错误:EACCES:许可流星

错误:EACCES:许可流星

问题描述:

对不起,我的英语拒绝。当我想在生产中写入Meteor文件时,出现错误。错误:EACCES:许可流星

[Error: EACCES: permission denied, open '/app/bundle/programs/server/../web.browser/app/data/market-prices-list.json'] 
errno: -13, 
code: 'EACCES', 
syscall: 'open', 
path: '/app/bundle/programs/server/../web.browser/app/data/market-prices-list.json' 

我认为它与文件夹的权利有关。我使用Ubuntu开发和流星银河进行生产。

银河does not provide means for persistent storage

临时文件,可以使用/tmp,但如果你需要持久化存储,你应该使用外部服务或另一个部署目标。

+0

所以,在我的项目,我必须创建'/ tmp'文件夹,然后我可以读/写正确?我如何链接到这个文件?简单地说'/ tmp/market-prices-list.json'? –

+0

你的意思是让它可以提供给客户?它在默认情况下不可用,并且不是持久的,所以你不能指望它是长期可用的(没有持久性保证我知道)。 Galaxy不是为了这样使用而设计的。如果你想抓住机会做吧,你可以手工处理(例如,通过[Web应用程序](https://docs.meteor.com/packages/webapp.html))的任何请求,说,'MYDOMAIN。 com/tmp/*'然后读取这些文件并将它们传送给客户端。再说一遍,除非你知道你在做什么,否则不是一个好主意。 – MasterAM

+0

那么,我试图描述我需要什么。我有两个文件:json和二进制文件。在服务器端,我读取和写入这些文件。对于二进制文件,我使用fs包和json-jsonfile包。遵循你的建议,我把文件放在'/ tmp'文件夹中,但是出现错误 - 错误:ENOENT:没有这样的文件或目录,打开'/tmp/market-price-list.json'。我也尝试使用亚马逊s3并在那里放置文件,但同样的错误出现。 –