Heroku - 只读文件系统 - /var/www?

Mat*_*iby 1 ruby deployment ruby-on-rails

我正在尝试迁移数据库,但出现此错误..

heroku rake db:migrate
(in /app)
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/file_utils.rb:10: warning: already initialized constant RUBY
/app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.2/lib/rake/file_utils.rb:84: warning: already initialized constant LN_SUPPORTED
rake/rdoctask is deprecated.  Use rdoc/task instead (in RDoc 2.4.2+)
rake aborted!
Read-only file system - /var/www
/usr/ruby1.9.2/lib/ruby/1.9.1/fileutils.rb:243:in `mkdir'
/usr/ruby1.9.2/lib/ruby/1.9.1/fileutils.rb:243:in `fu_mkdir'
/usr/ruby1.9.2/lib/ruby/1.9.1/fileutils.rb:217:in `block (2 levels) in mkdir_p'
/usr/ruby1.9.2/lib/ruby/1.9.1/fileutils.rb:215:in `reverse_each'
/usr/ruby1.9.2/lib/ruby/1.9.1/fileutils.rb:215:in `block in mkdir_p'
/usr/ruby1.9.2/lib/ruby/1.9.1/fileutils.rb:201:in `each'
/usr/ruby1.9.2/lib/ruby/1.9.1/fileutils.rb:201:in `mkdir_p'
/app/config/initializers/setup_shared_data.rb:6:in `<top (required)>'
/app/vendor/rails/activesupport/lib/active_support/dependencies.rb:147:in `load'
/app/vendor/rails/activesupport/lib/active_support/dependencies.rb:147:in `load_with_new_constant_marking'
/app/vendor/rails/railties/lib/initializer.rb:622:in `block in load_application_initializers'
/app/vendor/rails/railties/lib/initializer.rb:621:in `each'
/app/vendor/rails/railties/lib/initializer.rb:621:in `load_application_initializers'
/app/vendor/rails/railties/lib/initializer.rb:176:in `process'
/app/vendor/rails/railties/lib/initializer.rb:113:in `run'
/app/config/environment.rb:9:in `<top (required)>'
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题,或者我能做些什么来更深入地挖掘......

Luk*_*uke 5

看起来第 6 行/app/config/initializers/setup_shared_data.rb试图在本地文件系统上创建一个目录(mkdir就是这样)。

这在 Heroku 上是不允许的,因为文件系统是只读的(除了/tmp)。有关此限制的更多信息,请参阅此处的文档。

将该行添加到您的问题中,也许我可以提供更具体的答案。