J'ai donc mis à jour une application sur laquelle je travaille vers les rails 5.2 et elle plante sur Heroku. Je pense que c'est parce que je n'ai pas de fichier master.key dans mon dossier / config. J'ai toujours le fichier secrets.yml de la version précédente de rails. Que dois-je faire pour résoudre ce problème? Merci!
erreur dans les journaux heroku:
2019-01-28T21:07:46.922561+00:00 app[web.1]: /app/vendor/bundle/ruby/2.5.0/gems/aws-sdk-s3-1.30.1/lib/aws-sdk-s3/bucket.rb:684:in `extract_name': Cannot load `Rails.config.active_storage.service`: (ArgumentError) 2019-01-28T21:07:46.922573+00:00 app[web.1]: missing required option :name
3 Réponses :
Vous devez générer master.key et credentials.yml.enc . Pour ce faire, exécutez simplement la commande:
$ heroku config:set RAILS_MASTER_KEY=`cat config/master.key`
(En tant qu'éditeur, vous pouvez utiliser autre chose, par exemple atom ou nano).
En ouvrant l'éditeur, vous pouvez taper informations d'identification et enregistrez-le. Les rails utilisent master.key pour crypter les informations d'identification. Vous pouvez en savoir plus ici: https://medium.com/cedarcode/rails- 5-2-credentials-9b3324851336
Pour que les informations d'identification chiffrées fonctionnent sur Heroku, vous pouvez copier la clé de master.key et l'utiliser pour configurer la variable d'environnement RAILS_MASTER_KEY
. Vous pouvez y parvenir par Heroku Dashboard ou Heroku CLI, comme ci-dessous:
run EDITOR=vim rails credentials:edit
Vous devrez également définir config.require_master_key = true
dans config / environnements / production.rb
Deux ou trois choses. Parlant de ma propre expérience personnelle, j'ai mis à niveau plusieurs applications Rails vers la version 5.2 et j'ai pu très bien déployer sur Heroku sans cette fonctionnalité. Donc je ne pense pas que ce soit nécessairement ça.
Si vous pouviez exécuter heroku logs --tail --app
et nous montrer une trace de la pile des raisons pour lesquelles votre application échoue, cela aiderait certainement.
Salut merci pour l'aide J'ai ajouté ce qui semble être à l'origine du crash dans les journaux. Est-ce utile?
Merci. J'exécuterais rake app: update
à coup sûr. Cela ressemble à une erreur générique liée à ActiveStorage. Peut-être que vos initialiseurs ne sont pas mis à jour ou vous manquez certains des nouveaux initialiseurs?
J'ai exécuté la commande mais la même erreur apparaît toujours. S'il s'agit de mes initialiseurs, que puis-je faire pour y remédier? Je vous remercie!
Vous pourrez générer le fichier master.key en utilisant la commande suivante:
Adding config/master.key to store the master encryption key: <YOUR_MASTER_KEY> Save this in a password manager your team can access. If you lose the key, no one, including you, can access anything encrypted with it. create config/master.key Ignoring config/master.key so it won't end up in Git history: append .gitignore
L'exemple de sortie sera le suivant:
$ EDITOR=vim rails credentials:edit
Veuillez consulter la documentation officielle: https: //github.com/rails/rails/blob/master/railties/lib/rails/commands/credentials/USAGE