自上次捆绑更新以来,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中没有这个“不”的宝石。我应该加一下吗?
答案 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
的帖子中找到的那样我不确定我以前的任何笨拙尝试是否也是必要的,所以无论如何我都在这里注意到它们。