マウンテンライオンを使用しています。 Ruby最初にRVMで、次にrbenvでインストールしました。which Ruby
で最新のものを実行していることを確認できます。これは、1つを正しく指します。 rbenvでインストールされます。
gem gemはインストールされません。常に同じエラーがスローされます(常に同じファイルにあるとは限りませんが、split
で同じエラーが発生します:
Users/Macbook/.rvm/rubies/Ruby-1.9.3-p448/lib/Ruby/1.9.1/mkmf.rb:1357:in `split': invalid byte sequence in UTF-8 (ArgumentError)
from /Users/Macbook/.rvm/rubies/Ruby-1.9.3-p448/lib/Ruby/1.9.1/mkmf.rb:1357:in `find_executable0'
from /Users/Macbook/.rvm/rubies/Ruby-1.9.3-p448/lib/Ruby/1.9.1/mkmf.rb:1564:in `pkg_config'
from extconf.rb:15:in `<main>'
運が悪かったので、.profile
でこれらのエクスポートを設定しようとしました。
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
また、bashをbrewで更新し、chshでアクティブ化しました。 iTerm2もUTF-8エンコーディングで正しく構成されています。
私は今他に何をすべきか分かりません。 XCode4.6.3を使用しています。
この問題は、PATH
environment変数(.bash_profile
、.profile
、.bashrc
)の設定に関連するすべてのファイルをクリーンアップしてから、rvm
againをインストールすることで解決されました。 。 echo $PATH
を実行すると、バンドラーによるPATH
の処理が中断された奇妙な文字が明らかになりました。
64ビットのCygwin、Ruby 2.0.0およびgem2.4.1があり、同じ問題が発生していました。gem install ...
、gem update
、すべてが "エラー:gemの実行中に...(ArgumentError)UTF-8 "で無効なバイトシーケンス。
また、すべてのロケールを「en_US.UTF-8」に設定しました。
LANG
を空の文字列または「C.BINARY」に設定すると役立つはずだとどこかで読んだことがありますが、そうではありませんでした。助けて。しかし、実験を始めるのは良いヒントでした。
最後に、LANG
とLC_ALL
の両方を空の文字列に設定することで解決しました。他のすべてのロケール環境変数(LC_CTYPE
など)は自動的にに設定されましたそれによる「C.UTF-8」、LANG
とLC_ALL
は空のままでした。
これで、gem
がついに機能します。
同じ理由があったと思います。ドットファイルを「クリーンアップ」すると、おそらくロケールの値が変更されます。