Ruby1.9.3でpryが動かないときは

Ubuntu 14.04のシステムのRubyが1.9.3で、この上でpryを使っていて引っかかった。

> pry                                                                                                                                                            14:44:58
/var/lib/gems/1.9.1/gems/yard-0.9.9/lib/yard/globals.rb:21:in `log': /var/lib/gems/1.9.1/gems/yard-0.9.9/lib/yard/logging.rb:13: invalid multibyte char (US-ASCII) (SyntaxError)
/var/lib/gems/1.9.1/gems/yard-0.9.9/lib/yard/logging.rb:13: invalid multibyte char (US-ASCII)
/var/lib/gems/1.9.1/gems/yard-0.9.9/lib/yard/logging.rb:13: syntax error, unexpected $end, expecting keyword_end
    PROGRESS_INDICATORS = %w(⣷ ⣯ ⣟ ⡿ ⢿ ⣻ ⣽ ⣾)
                               ^
	from /var/lib/gems/1.9.1/gems/yard-0.9.9/lib/yard/serializers/yardoc_serializer.rb:104:in `deserialize'
	from /var/lib/gems/1.9.1/gems/yard-0.9.9/lib/yard/registry_store.rb:295:in `load_root'
	from /var/lib/gems/1.9.1/gems/yard-0.9.9/lib/yard/registry_store.rb:253:in `load_yardoc'
	from /var/lib/gems/1.9.1/gems/yard-0.9.9/lib/yard/registry_store.rb:127:in `load'
	from /var/lib/gems/1.9.1/gems/yard-0.9.9/lib/yard/registry.rb:132:in `load_yardoc'
	from /var/lib/gems/1.9.1/gems/pry-doc-0.10.0/lib/pry-doc.rb:16:in `load_yardoc'
	from /var/lib/gems/1.9.1/gems/pry-doc-0.10.0/lib/pry-doc.rb:20:in `<top (required)>'
	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
	from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
	from /var/lib/gems/1.9.1/gems/pry-0.10.4/lib/pry/plugins.rb:49:in `activate!'
	from /var/lib/gems/1.9.1/gems/pry-0.10.4/lib/pry/plugins.rb:93:in `block in load_plugins'
	from /var/lib/gems/1.9.1/gems/pry-0.10.4/lib/pry/plugins.rb:92:in `each'
	from /var/lib/gems/1.9.1/gems/pry-0.10.4/lib/pry/plugins.rb:92:in `load_plugins'
	from /var/lib/gems/1.9.1/gems/pry-0.10.4/lib/pry/pry_class.rb:127:in `initial_session_setup'
	from /var/lib/gems/1.9.1/gems/pry-0.10.4/lib/pry/cli.rb:206:in `block in <top (required)>'
	from /var/lib/gems/1.9.1/gems/pry-0.10.4/lib/pry/cli.rb:83:in `call'
	from /var/lib/gems/1.9.1/gems/pry-0.10.4/lib/pry/cli.rb:83:in `block in parse_options'
	from /var/lib/gems/1.9.1/gems/pry-0.10.4/lib/pry/cli.rb:83:in `each'
	from /var/lib/gems/1.9.1/gems/pry-0.10.4/lib/pry/cli.rb:83:in `parse_options'
	from /var/lib/gems/1.9.1/gems/pry-0.10.4/bin/pry:16:in `<top (required)>'
	from /usr/local/bin/pry:23:in `load'
	from /usr/local/bin/pry:23:in `<main>'

yardでエンコーディングまわりのエラーが出ている。これはしばらくpryを使ったあとでインストールしたpry-docプラグインが連れてきたyardの悪さだった。

 > gem uninstall pry-doc yard

とすればpryが復活する。(pry-docは使えないが)

もちろん最新版 Ruby 2.4.1(2017/07/07現在)を使うのが一番いいが、1.9.3でなければならないときもある。