rails aws ruby-on-rails ruby amazon-web-services fog

ruby-on-rails - rails - gem aws sdk s3



Advertencia con niebla y AWS: no se puede cargar la gema ''unf'' (3)

Cada acción en una consola de rieles (servidor de rieles, consola de rieles, db: migrar, etc.) genera una advertencia desde mi última actualización de paquete:

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

Estoy seguro de que no cambié nada en las cadenas de AWS que están en mi archivo 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"

No tengo esta joya "unf" en mi gemfile. ¿Debería agregarlo?


Aparentemente tenía fog-1.18.0 instalado cuando vi este error. (Reiniciando un proyecto vagabundo aws que instalé hace un tiempo) Mi intento ingenuo de corregirlo fue comenzar con una actualización

gem install fog

que actualizó algo a fog-1.21.0. Como lo advirtió, "Esto podría llevar un tiempo ..." ... y eso no ayudó.

Exactamente DONDE agregar "gem ''unf''" no estaba claro desde la solución votada aquí, parecía ser lib / fog / aws.rb pero eso ya estaba allí cuando lo busqué.

gem install unf

parecía agregarlo en alguna parte, pero el problema no desapareció.

Actualicé el vagabundo mismo (1.4.3 a 1.5.1) y ESO no lo solucionó.

Finalmente, la solución fue

vagrant plugin install unf

como encontré en un hilo en https://github.com/mitchellh/vagrant/issues/2507

No estoy seguro de si alguno de mis intentos fallidos anteriores también fueron necesarios, así que los anoté aquí de todos modos.


Sí, esto acaba de suceder hace unos días. Puede ver desde la solicitud de extracción y confirmar que la dependencia unf es opcional.

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

Cuando actualicé mi paquete actual con niebla, recibí las mismas advertencias y agregué

gem ''unf''

de hecho elimina la advertencia sin ningún problema.


Si no tiene ningún cubo / objeto S3 que no tenga caracteres ASCII en los nombres, creo que puede ignorar la advertencia. También podemos hacer algo para que sea menos ruidoso, pero por ahora puedes ignorar o agregar unf para silenciarlo, como lo señaló @trh.