J'ai besoin d'aide. Lorsque j'essaie de télécharger mon application sur heroku, j'obtiens cette erreur. Quelqu'un sait pourquoi? Quelques-uns avaient tort. Merci
Using rake (10.1.0)
...
Using tlsmail (0.0.1)
Using uglifier (2.1.2)
Your bundle is complete! It was installed into ./vendor/bundle
-----> Writing config/database.yml to read from DATABASE_URL
-----> Preparing app for Rails asset pipeline
Running: rake assets:precompile
/tmp/build_e8889be5-168c-49ed-81e7-b71061fc82ee/vendor/bundle/Ruby/1.9.1/gems/tlsmail-0.0.1/lib/net/smtp.rb:806: warning: already initialized constant SMTPSession
...
/tmp/build_e8889be5-168c-49ed-81e7-b71061fc82ee/vendor/bundle/Ruby/1.9.1/gems/tlsmail-0.0.1/lib/net/pop.rb:702: warning: already initialized constant APOPSession
DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/Rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /tmp/build_e8889be5-168c-49ed-81e7-b71061fc82ee/Rakefile:7)
...
rake aborted!
could not connect to server: Connection refused
Is the server running on Host "127.0.0.1" and accepting
TCP/IP connections on port 5432?
/tmp/build_e8889be5-168c-49ed-81e7-b71061fc82ee/vendor/bundle/Ruby/1.9.1/gems/activerecord-3.2.12/lib/active_record/connection_adapters/postgresql_adapter.rb:1208:in `initialize'
/tmp/build_e8889be5-168c-49ed-81e7-b71061fc82ee/vendor/bundle/Ruby/1.9.1/gems/activerecord-3.2.12/lib/active_record/connection_adapters/postgresql_adapter.rb:1208:in `new'
...
/tmp/build_e8889be5-168c-49ed-81e7-b71061fc82ee/vendor/bundle/Ruby/1.9.1/gems/actionpack-3.2.12/lib/sprockets/assets.rake:29:in `block (2 levels) in <top (required)>'
Tasks: TOP => environment
(See full trace by running task with --trace)
!
! Precompiling assets failed.
De la Heroku docs :
Cela signifie que votre application tente de se connecter à la base de données dans le cadre d'actifs rake: précompiler. Étant donné que les variables de configuration ne sont pas présentes dans l'environnement, nous utilisons un espace réservé DATABASE_URL pour satisfaire Rails.
Pour résoudre ce problème, assurez-vous que la ligne suivante apparaît dans votre config/application.rb
:
# config/application.rb
config.assets.initialize_on_precompile = false
Une fois ajoutées, validez vos modifications et redéployez-les sur Heroku. Vos ressources doivent être compilées sans que votre application ne tente de se connecter à la base de données, ce qui devrait résoudre le problème que vous constatez.
METTRE &AGRAVE; JOUR:
La ligne 46 de your stacktrace comprend le message suivant: Devise.secret_key was not set.
Selon à l'auteur de Devise, José Valim , ce problème peut être résolu de la manière suivante:
Veuillez ajouter les éléments suivants à votre initialiseur Devise:
config.secret_key = '- clé secrète -'
Alternativement, la solution suivante semble avoir fonctionné pour plusieurs utilisateurs:
Je suis allé dans mon fichier routes.rb et ai commenté la ligne devise_for: installs
Ensuite, je suis retourné et j'ai recommencé. Les Rails ont généré: installer. Si cela ne fonctionne pas, utilisez la version précédente de concevez en modifiant la référence de votre Gemfile à Devise, comme suit: gem "concord", "3.0.3", puis suivez les étapes que j'ai mentionnées ci-dessus.
Voici quelques problèmes qui ont résolu ce problème pour moi:
# config/application.rb
config.assets.initialize_on_precompile = false
Ensuite, avant de déployer mes ressources, je les ai compilées localement et les ai validées:
Rails_ENV=production bundle exec rake assets:precompile
En outre, j'ai installé ce complément heroku, comme spécifié par l'application que je lançais (dans mon cas, Spree commerce)
heroku labs:enable user-env-compile -a myapp
Et bien sûr, assurez-vous que votre fichier database.yml est configuré pour utiliser adapter: postgresql
.
Commencez tout cela, Push to heroku, et espérons que ça se lance. Si vous ne pouvez toujours pas ouvrir votre application, essayez de consulter les journaux Heroku: heroku logs -n 500
J'ai toujours besoin de migrer ma base de données avec heroku run rake db:migrate
J'ai échoué lors de la compilation de Heroku avec le même message d'erreur… .. Carrierwave a provoqué cette erreur parce que j'ai raté la configuration SECRET_KEY_BASE
du paramètre Heroku.