有雾和AWS警告:无法加载“unf”gem

自从我上次进行软件包更新以来,Rails控制台(rails服务器,rails控制台,db:migrate等)中的每个操作都会引发警告:

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

我确定我没有更改我的application.rb文件中的AWSstring中的任何内容:

  # 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" 

我的gemfile中没有这个“unf”gem。 我应该添加吗?

是的,这只是几天前发生的。 您可以从pull请求中看到并确认unf依赖项是可选的。

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

当我用雾更新我当前的包时,我收到了相同的警告,并添加

 gem 'unf' 

确实删除了没有任何问题的警告。

如果您没有任何名称中没有ASCII字符的S3存储桶/对象,我认为您可以放心地忽略该警告。 我们可能会做一些让它减less噪音的方法,但是现在你可以忽略或者不加改变地减less噪音,正如@trh指出的那样。

当我看到这个错误时,我显然已经安装了fog-1.18.0。 (重新启动一个前不久我安装的aws vagrant项目)我天真的尝试修复就是从升级开始

  gem install fog 

升级到雾1.21.0。 正如它所警告的那样,“这可能需要一段时间……”这并没有帮助。

究竟在哪里添加“gem'unf'”在这里投票的解决scheme中是不清楚的,它似乎是lib / fog / aws.rb,但是当我看时,它已经在那里了。

  gem install unf 

似乎在某处添加它,但问题并没有消失。

我升级stream浪本身(1.4.3至1.5.1),并没有解决它。

最终, 解决scheme是

  vagrant plugin install unf 

正如我在https://github.com/mitchellh/vagrant/issues/2507的线程中发现的那样;

我不确定我以前的摸索尝试是否也有必要,所以我在这里注意到了他们。

Interesting Posts