当前位置:  开发笔记 > 编程语言 > 正文

Rails - 无法在Heroku的tmp文件夹中创建目录/文件?

如何解决《Rails-无法在Heroku的tmp文件夹中创建目录/文件?》经验,为你挑选了1个好方法。

我正在尝试FileUtils在Heroku的tmp文件夹中创建一个名为'servers' 的目录:

# create servers folder is it doesn't exist
dir = File.dirname("#{Rails.root}/tmp/servers")
FileUtils.mkdir(dir) unless File.directory?(dir)

我也尝试mkdir使用Heroku的控制台进行创建,但似乎没有创建:

sudo heroku run 'mkdir /app/tmp/servers'
Running mkdir /app/tmp/servers on someapp... up, run.8611

sudo heroku run 'ls /app/tmp/.'
Running ls /app/tmp/. on someapp... up, run.3195
cache  heroku-buildpack-release-step.yml

我究竟做错了什么?



1> John Beynon..:

你可以写入文件系统,但当你这样做时,heroku run它是一个一次性的dyno,所以完全独立于你的网络dynos,甚至是第二个dyno.它需要一个slug的新副本(来自您的上次部署) - 它们不共享相同的文件系统,并且在会话断开或终止时不会保留任何内容.

? heroku run bash
Running bash on xxx... up, run.5673
~ $ cd tmp
~/tmp $ mkdir foo
~/tmp $ cd foo
~/tmp/foo $ touch bah.txt
~/tmp/foo $ ls
bah.txt
~/tmp/foo $

如果您退出并打开一个新会话

? heroku run bash
Running bash on xxx... up, run.6709
~ $ cd tmp
~/tmp $ ls
cache  heroku-buildpack-release-step.yml
~/tmp $

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有