2012-06-17 34 views
2

在Heroku应用程序的rails 3.1升级到3.2.6升级方面取得了很多进展。Rails 3.1升级到3.2.6 - asset_sync错误

我使用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

rake命令如rake db:reset正常工作。键入psql到命令行给出了完全相同的错误,除非我指定psql -h localhost postgres postgres - 它要做什么? asset_sync.rb包含我的Amazon S3凭据 - 为什么会出现此错误?全堆栈跟踪意味着其活动记录3.2.6: – Dave

+0

rake中止! 无法连接到服务器:权限被拒绝 \t在Unix域套接字“/var/pgsql_socket/.s.PGSQL.5432”上服务器是否在本地运行并接受 \t连接? /Users/bob/.rvm/gems/[email protected]/gems/activerecord-3.2.6/lib/active_record/connection_adapters/postgresql_adapter.rb:1206:in'initialize' /Users/bob /.rvm/gems/[email protected]/gems/activerecord-3.2.6/lib/active_record/connection_adapters/postgresql_adapter.rb:1206:in'new' ... – Dave

+0

如果我将主持人: localhost out of database.yml我在rails console等命令上得到相同的错误。一旦这些命令工作正常,但资产预编译仍然会失败,并出现上述情况。 – Dave

回答

1

这不符合asset_sync错误,但该资产预编译过程本身(特别是在Heroku)尝试在生产config.assets.initialize_on_precompile = false或application.rb中

这是什么会做的是确保你的应用程序代码没有得到不必要的初始化,在预编译时,您的heroku数据库不可用。

另外它不是一个问题,只是Rails 3.2.6,但我相信3.2.x。