CygwinでRubygemsがうごかない

はじめに

Rubygemsが動かない

$ ruby -v
ruby 2.0.0p576 (2014-09-19) [x86_64-cygwin]

$ gem -v
2.4.1

$ gem update
ERROR: While executing gem ... (ArgumentError)
invalid byte sequence in UTF-8

ので、直しました。

選択肢

apt-cygを使うなら、ruby自体のバージョンを2.1に上げれば動きそう

apt-cyg使いたくないなら、以下の手順でどうぞ

手順

0. patchを使うので、インストールしてなければcygwinのsetup.exeからインストール

1. ここ(https://github.com/rubygems/rubygems/issues/863#issuecomment-54527122) からdiffの出力を(1行目のコマンド以外)をコピペして適当な場所(home直下など)にregistry.patchという名前で保存

2. cygwinでその適当な場所に移動

3. 以下のコマンドでパッチを適用

patch -p0 /usr/share/ruby/2.0.0/win32/registry.rb < registry.patch	  

4. おわり

参考