2015年5月22日金曜日

US-ASCII (Encoding::InvalidByteSequenceError)

  • 公開日:2015年5月22日

環境

  • vagrant(centos6.5)

概要

chefを使って新しく環境構築をしようとしていたら

/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.2/lib/json/common.rb:155:in `encode': "\xE2" on US-ASCII (Encoding::InvalidByteSequenceError)

というエラーが発生しました。

原因は、表示されているようにjsonパース時のエンコーディングの問題です。

エラーの発生する条件

chefのインストールには、ChefDK0.6を利用しました。
このパッケージでrubyの環境を導入すると、上記のエラーが発生する『バグのあるruby』がインストールされてしまいます

エラーの発生したコマンド


berks vendor cookbooks

/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/json-1.8.2/lib/json/common.rb:155:in `encode': "\xE2" on US-ASCII (Encoding::InvalidByteSequenceError)

Berkshelf3を使ってcookbookをインストールするときに発生しました。

修正方法


export LANG=en_US.UTF-8
berks vendor cookbooks

上記のように、コマンド実行前にエンコーディングを指定すれば正常に動きます。

以上

参照

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...