在Heroku应用程序的rails 3.1到3.2.6升级中取得了很多进展。
我使用asset_sync并将资产预编译到S3上。我使用asset_sync.rb初始化程序来配置我的S3连接细节。
尝试运行时出错
RAILS_ENV=production bundle exec rake assets:precompile
AssetSync: using /Users/bob/work/myapp/config/initializers/asset_sync.rb
rake aborted!
could not connect to server: Permission denied
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
Tasks: TOP => environment
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [/Users/bob/.rvm/rubies/ruby-1.9.3-p...]
这很奇怪。我检查了是按照Postgres permission denied on MAC OS X的问题和相关评论进行收听。
答案 0 :(得分:1)
这不是asset_sync的错误,但资产预编译过程本身(特别是在heroku上)在您的生产或应用程序中尝试config.assets.initialize_on_precompile = false
.rb
这将确保您的应用程序代码不会被不必要地初始化,在预编译时,您的heroku数据库不可用。
这也不仅仅是Rails 3.2.6的问题,而是3.2.x我相信。