久々にgem installしたらgemにPATHが通らなくなっていてハマった

Dec 27, 2017

ほぼほぼ自分用の備忘録です。

$ gem install capistranoした所、

$ cap --version
zsh: command not found: cap

といった感じになったので原因を探る。
とりあえず、下記のコマンドで現状のPATH確認から。

$ gem environment
RubyGems Environment:
  ~~~
  - SHELL PATH:
     - /Users/uuki/.phpenv/libexec
     - /Users/uuki/.nvm/versions/node/v6.11.0/bin
     - /Users/uuki/.phpenv/shims
     - /Users/uuki/.phpenv/bin
     - /Users/uuki/.homebrew/bin
     - /Users/uuki/.homebrew/sbin
     - /Users/uuki/opt/ImageMagick-6.9.3/bin
     - /Users/uuki/local/bin
     - /usr/local/var/rbenv/shims
     - /usr/local/bin
     - /usr/local/sbin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /opt/X11/bin
     - /usr/local/git/bin
     - /Library/Frameworks/Mono.framework/Versions/Current/Commands
     - /usr/local/bin

どうも~/.phpenvにPATHが通ってしまっているようだ。
そういえば、前にインストールして調整が途中になっていたかも。

とりあえずphpenvに関しては現在使っていなかったので、パスを直す前に消すことにする。

$ rm -r ~/.phpenv

次に、rubyもしばらくアップデートしていなかったので、
rbenvをアップデートしつつ、安定版のv2.4.3をインストールする。

$ rbenv -v
rbenv 1.0.0-33-gc7dcaf1

$ brew upgrade rbenv
$ rbenv -v
rbenv 1.1.1
$ rbenv install 2.4.3
$ rbenv global 2.4.3

rubyのアップデートまで無事完了。

$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin15]

念のため、~/.zshrcを開いてrbenvの設定が正常か確認。

$ vi ~/.zshrc

下記の行があればOK

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

再度、capistranoをインストールしてみる。

$ gem install capistrano && rbenv rehash
WARNING:  You don't have /Users/uuki/bin in your PATH,
	  gem executables will not run.
Successfully installed capistrano-3.10.1

なんかエラー出た。
~/bin内にPATHが通っていないという事なので、下記のコマンドでPATHを追加して.zshrcを再読込する。

$ echo 'export PATH="$HOME/bin":$PATH' >> ~/.zshrc
$ source ~/.zshrc

確認

$ cap --version
Capistrano Version: 3.10.1 (Rake Version: 12.0.0)

直った!