web-dev-qa-db-fra.com

Avertissement avec le brouillard et AWS: impossible de charger la gemme «unf»

Chaque action dans une console Rails (serveur Rails, Rails, db: migrate, etc.)) déclenche un avertissement depuis ma dernière mise à jour de bundle:

[fog][WARNING] Unable to load the 'unf' gem. Your AWS strings may not be properly encoded.

Je suis sûr que je n'ai rien changé dans les chaînes AWS qui se trouvent dans mon fichier application.rb:

    # Amazon S3 credentials
ENV["AWS_ACCESS_KEY_ID"] = "AWS_ACCESS_KEY_ID"
ENV["AWS_SECRET_ACCESS_KEY"] = "AWS_SECRET_ACCESS_KEY"
ENV["AWS_S3_BUCKET"] = "my-bucket"

Je n'ai pas ce joyau "unf" dans mon gemfile. Dois-je l'ajouter?

59
Arnlen

Oui, cela vient de se produire il y a quelques jours. Vous pouvez voir dans la demande d'extraction et valider que la dépendance unf est facultative.

https://github.com/fog/fog/pull/2320/commits

Lorsque j'ai mis à jour mon pack actuel avec du brouillard, j'ai reçu les mêmes avertissements et

gem 'unf' 

supprime en effet l'avertissement sans aucun problème.

74
trh

Si vous n'avez pas de seaux/objets S3 qui n'auraient pas ASCII caractères dans les noms, je pense que vous pouvez ignorer l'avertissement en toute sécurité. Nous pouvons faire quelque chose pour le rendre moins bruyant aussi, mais pour l'instant, vous pouvez ignorer ou ajouter unf pour le calmer, comme l'a souligné @trh.

13
geemus

Apparemment, j'avais installé fog-1.18.0 lorsque j'ai vu cette erreur. (Redémarrage d'un projet aws vagrant que j'ai installé il y a un moment) Ma tentative naïve de correction était de commencer par une mise à niveau

  gem install fog

qui a mis à jour quelque chose en brouillard-1.21.0. Comme il l'a averti, "Cela pourrait prendre un certain temps ..." ... et cela n'a pas aidé.

Exactement où ajouter "gem 'unf'" n'était pas clair à partir de la solution votée ici, il semblait être lib/fog/aws.rb mais c'était déjà là quand j'ai regardé.

  gem install unf

semblait l'ajouter quelque part, mais le problème n'a pas disparu.

J'ai mis à jour le vagabond lui-même (1.4.3 à 1.5.1) et cela ne l'a pas corrigé.

Finalement, le correctif était

  vagrant plugin install unf

comme je l'ai trouvé dans un fil à https://github.com/mitchellh/vagrant/issues/2507

Je ne sais pas si l'une de mes précédentes tentatives de tâtonnement était également nécessaire, alors je les ai notées ici de toute façon.

7
dman