概要
macOS で irb を使うと Ctrl+a でカーソルを先頭にしたり Ctrl+p で前のコマンドにしたい場合は ^A
や ^P
になってしまい動作しません
readline が必要なのですが普通に readline をインストールしただけではダメだったので対象方法を紹介します
環境
- macOS 10.14.4
- Ruby 2.6.2p47
readline インストール
brew install readline
ruby 再インストール
homebrew ですでに ruby をインストールしていました
おそらくその時にはまだ readline がインストールされていなく irb の挙動もおかしくなっていたんだと思います
homebrew で ruby をインストールした場合もし readline があればそれを使ってビルドしてくれるので irb も正しい挙動になります
なので readline をインストールしたあとで ruby も再インストールすれば irb も直ります
homebrew の ruby はいろいろと依存関係がある可能性が高く面倒なので upgrade しました
brew upgrade ruby
echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.bash_profile
homebrew の Ruby 2.6 はインストールパスが代わり手動で PATH
を通す必要があります
irb のインストール
Ruby 2.6 の場合 irb も一緒に homebrew でインストールされます
が以下のエラーになり起動できません
Traceback (most recent call last):
2: from /usr/local/opt/ruby/bin/irb:23:in `<main>'
1: from /usr/local/Cellar/ruby/2.6.2/lib/ruby/2.6.0/rubygems.rb:302:in `activate_bin_path'
/usr/local/Cellar/ruby/2.6.2/lib/ruby/2.6.0/rubygems.rb:283:in `find_spec_for_exe': can't find gem irb (>= 0.a) with executable
irb (Gem::GemNotFoundException)
どうやら gem 側でもインストールする必要があるのでインストールしましょう
gem install irb
ちなみに bundler
でも同じエラーになるのでインストールしました
gem install bundler
あとは rake や rdoc コマンドも一緒にインストールされていたので、それらも使うのであれば gem install
が必要だと思います
.irbrc の場所
普通に ~/.irbrc
に配置すれば OK です
うまく読み込まれいるか確認する場合は irb -d
で起動すればデバッグモードになるのでわかりやすいと思います
最後に
readline をインストールすれば OK みたいな記事が多かったのですが、それだけではダメでインストールした readline を使って再ビルドする必要がありました
0 件のコメント:
コメントを投稿