2012-06-17 3 views
2

Выполнение большого прогресса в рельсах 3.1 до 3.2.6 для приложения Heroku.Rails 3.1 до 3.2.6 upgrade - asset_sync error

Я использую 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...] 

Это очень странно. Я проверил, что это is прослушивание в соответствии с Postgres permission denied on MAC OS X этот вопрос и связанные комментарии.

+0

Команды рейка, такие как rake db: reset работают нормально. Ввод psql в командную строку дает ту же самую ошибку, если я не укажу psgl -h localhost postgres postgres - что это из-за попытки сделать? asset_sync.rb содержит мои учетные данные Amazon S3 - почему он падает на эту ошибку? Полная трассировка стека означает его активную запись. 3.2.6: – Dave

+0

rake aborted! не удалось подключиться к серверу: Permission denied \t Является ли сервер работоспособен локально и принимает \t соединений в сокете домена Unix «/var/pgsql_socket/.s.PGSQL.5432»? /Users/bob/.rvm/gems/[email protected]/gems/activerecord-3.2.6/lib/active_record/connection_adapters/postgresql_adapter.rb:1206:in 'initialize ' /Пользователи/bob /.rvm/gems/[email protected]/gems/activerecord-3.2.6/lib/active_record/connection_adapters/postgresql_adapter.rb:1206:in 'new ' ... – Dave

+0

Если я принимаю хост: localhost из базы данных.yml Я получаю ту же ошибку в командах, что и консоль rails. Как только это произойдет, хотя эти команды работают нормально, но средства прекомпиляции все еще не сработали. – Dave

ответ

1

это не ошибка с asset_sync, но сам (а именно на Heroku) процесс прекомпиляцию активов попробовать config.assets.initialize_on_precompile = false в вашей продукции или application.rb

Что это будет сделать, это убедиться, что ваш код приложения не получить инициализируется без необходимости, что в прекомпиляцию время, ваша база данных heroku не будет доступна.

Также это не проблема только с Rails 3.2.6, но 3.2.x я верю.