web-dev-qa-db-ja.com

Gemのアップデート:ASCII-8BITからUTF-8からUS-ASCIIへの変換で「\ xE7」をUTF-8に変換できない

実行したばかりgem updateしばらく更新されていないライトユースサーバーマシン上で...「\ x ?? ASCII-8BITからUTF-8にUS-ASCIIに変換すると、UTF-8に変換されます。エラーが含まれます。コンソールからの例外が含まれています。

$ Sudo gem update
Installing ri documentation for railties-3.0.4...
Installing ri documentation for minitest-2.0.2...
Installing ri documentation for net-ssh-2.1.0...
unable to convert "\xE7" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for lib/net/ssh/authentication/pageant.rb, skipping
unable to convert "\xC3" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for lib/net/ssh/buffered_io.rb, skipping
unable to convert "\xC3" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for lib/net/ssh/service/forward.rb, skipping
unable to convert "\xC3" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for THANKS.rdoc, skipping
unable to convert "\xC3" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for CHANGELOG.rdoc, skipping
Installing ri documentation for Rails-3.0.4...
file 'lib' not found
Installing ri documentation for Rails3-generators-0.17.4...
unable to convert "\xC3" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for README.rdoc, skipping
Installing ri documentation for rdoc-3.5.3...
unable to convert U+201D from UTF-8 to US-ASCII for lib/rdoc/text.rb, skipping
unable to convert "\xC3" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for History.txt, skipping
Installing ri documentation for rspec-core-2.5.1...
unable to convert "\xC2" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for lib/rspec/core/subject.rb, skipping
Installing ri documentation for rspec-expectations-2.5.0...
unable to convert "\xC2" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for lib/rspec/matchers.rb, skipping
Installing ri documentation for rspec-mocks-2.5.0...
Installing ri documentation for rspec-2.5.0...
Installing ri documentation for rspec-Rails-2.5.0...
38
Meltemi

デフォルトのOS X Terminal.appの代わりにiTerm2を使用しているMac OS Xでも同様の問題が発生しました。 LC_CTYPEがiTerm2によって適切に設定されていません。〜/ .bash_profileにexport LC_CTYPE="utf-8"を追加すると、gemのインストールがスムーズに進みます。

注:もちろん、他のprofileファイルにエクスポートを追加できます

56
Daniel Da Cunha

LC_ALLの設定も解除すると、ダニエルとワームの回答の組み合わせでうまくいきました。私はこれで終わりました:

export LC_CTYPE=en_US.UTF-8
export LANG=en_US.UTF-8
unset LC_ALL
18
Jim Pfleger

SSHターミナルでlocaleを実行してみてください。この問題は私に現れ始めたばかりです。 localeを実行すると、次のようになります。

LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C" 
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=

私が知っている唯一の修正は、SSH経由でログインするたびにLANG=en_US.UTF-8を入力することです。

5
werm

別のGemをインストールすると、同じ問題が発生し、export LC_CTYPE="utf-8"~/.bash_profileに追加した後でも、どうやってそれを回避するかわかりませんでした。それが私がSudo gem updateを実行して、gemをインストールできるようになるまではありませんでした。

これを元の承認された回答に貢献したかったが、まだ十分なポイントがありません。 :(それにもかかわらず、私はこれが他の誰かを助けることを望みます。

5
Justin Fortier