Rails console(Railsサーバー、Rails console、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にこの「unf」gemがありません。追加する必要がありますか?
はい、これは数日前に起こりました。プルリクエストから確認し、unf依存関係がオプションであることを確認できます。
https://github.com/fog/fog/pull/2320/commits
現在のバンドルをフォグで更新すると、同じ警告が表示され、
gem 'unf'
実際に問題なく警告を削除します。
名前にASCII文字が含まれていないS3バケット/オブジェクトがない場合は、警告を無視しても安全だと思います。今のところ、@ trhが指摘したように、unfを無視するか追加して、それを静めることができます。
このエラーを見たとき、明らかにfog-1.18.0がインストールされていました。 (私が少し前にインストールしたaws vagrantプロジェクトを再開する)修正に対する私の素朴な試みは、アップグレードから始めることでした
gem install fog
何かをfog-1.21.0にアップグレードしました。 「これにはしばらく時間がかかる可能性があります...」と警告されたように...そしてそれは助けにはなりませんでした。
ここで投票されたソリューションから「gem 'unf'」を追加する正確な場所は明確ではありませんでした。
gem install unf
どこかに追加するように見えたが、問題は消えなかった。
Vagrant自体(1.4.3から1.5.1)をアップグレードしましたが、修正できませんでした。
最終的に、修正はでした
vagrant plugin install unf
https://github.com/mitchellh/vagrant/issues/2507 のスレッドで見つけたように
以前の手探りの試みのいずれかが必要であったかどうかはわかりませんので、とにかくここでそれらに注意しました。