雾和AWS警告:无法加载'unf'宝石

时间:2013-10-29 18:22:27

标签: ruby-on-rails ruby amazon-web-services fog

自上次捆绑更新以来,rails控制台中的每个操作(rails服务器,rails控制台,db:migrate等)都会发出警告:

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

我确定我没有更改我的application.rb文件中的AWS字符串中的任何内容:

    # 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中没有这个“不”的宝石。我应该加一下吗?

3 个答案:

答案 0 :(得分:74)

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

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

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

gem 'unf' 

确实会毫无问题地删除警告。

答案 1 :(得分:13)

如果您没有名称中没有ASCII字符的任何S3存储桶/对象,我认为您可以放心地忽略该警告。我们可能会做一些事情来降低它的噪音,但是现在你可以忽略或添加它来安静下来,正如@trh指出的那样。

答案 2 :(得分:7)

当我看到这个错误时,我显然安装了雾1.18.0。 (重启我刚刚安装的aws vagrant项目) 我对修复的天真尝试是从升级开始

  gem install fog

将某些内容升级为雾1.21.0。正如它警告的那样,"这可能需要一段时间......" ......那没有帮助。

正好在哪里添加" gem' unf'"从这里投票的解决方案中看不清楚,它似乎是lib / fog / aws.rb但是当我看的时候就已经存在了。

  gem install unf

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

我将流浪者本身升级(1.4.3至1.5.1)并且没有修复它。

最终修复

  vagrant plugin install unf

正如我在https://github.com/mitchellh/vagrant/issues/2507

的帖子中找到的那样

我不确定我以前的任何笨拙尝试是否也是必要的,所以无论如何我都在这里注意到它们。