【发布时间】:2016-11-24 01:04:41
【问题描述】:
我正在尝试使用命令将节点应用程序推送到Bluemix
cf push <APP NAME> -c "node app.js"
被推送的节点应用程序几乎没有空的嵌套目录。
应用程序有一个初始化代码,需要这些嵌套目录存在。它使用它们在运行时复制和生成文件。
问题:
当我推送应用程序时,不会推送空目录[仅推送非空的其他文件和目录],因此当应用程序尝试定位它时,它会失败
错误:ENOENT 没有这样的文件或目录错误。
解决方法是向每个目录添加一个随机文件[使它们不再为空],然后将其推送到 Bluemix(通过 Cloud Foundry)。
期待:
如何在将应用程序推送到 Bluemix 时推送空目录?这些目录最初是空的,但稍后将在应用程序在 Bluemix 中运行时用于生成和保存文件或文档。
【问题讨论】:
-
请注意,不推荐使用本地文件。如果您的应用崩溃或需要重新启动,那么这些文件就会消失。
-
同意。我需要这个选项,因为当 nodebb 应用程序推送到 Bluemix 时,它会在运行时在这个位置创建一些临时初始化文件[不确定目的]。当它没有找到该位置时,它会给出 RR 25/11 04:27 [29] - 错误:错误:ENOENT:没有这样的文件或目录,scandir '/home/vcap/app/public/uploads/sounds'。因此,每当我在构建后推送 nodebb 应用程序代码时,我都需要推送公用文件夹。但是由于公用文件夹及其所有子文件夹都是空的,因此它们没有被 cf push 添加。
-
正如我在之前的评论中提到的,在我看来,这些目录仅用于运行时的临时存储。但我会记住这个提示。谢谢。