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.