という警告が出ている環境があった。(最近 pyenv update
した環境)
WARNING: `pyenv init -` no longer sets PATH. · Issue #1906 · pyenv/pyenv · GitHub を見たところ、
eval "$(pyenv init -)"
していた箇所を
eval "$(pyenv init --path)"
にすれば良いのかな?と思うんで、直接 pyenv
を使っている環境ではそのように書き直したら警告は消えた。
・・・が、あいにく anyenv
使ってる環境もあるんだよね。最初、てっきり ~/.profile
にて
if [ -d $HOME/.anyenv ] && [-d $HOME/.anyenv/envs/pyenv ] ; then eval "$($HOME/.anyenv/envs/pyenv/bin/pyenv init --path)" fi
でもしたら良いのかな?と思ったり、或いは ~/.bashrc
にて
eval "$(anyenv init --path)"
したりすれば良いのかな?と思ったけど、そういうことではなさそうで。
それはそうと anyenv
なんかずっと更新してなーって思って anyenvをアップグレードしたメモ - Qiita を見て、
cd ~/.anyenv git remote -v origin https://github.com/riywo/anyenv (fetch) origin https://github.com/riywo/anyenv (push)
だったので、これは古い URL だな・・・ということで、
git remote set-url origin https://github.com/anyenv/anyenv.git
した。うぅ・・・つらいなぁ。セッションに入り直して
anyenv install --init
も実行っと・・・。
これでも結局 pyenv
の警告は消えないんだけど、anyenv
側に issue として path warning in zsh with prezto · Issue #89 · anyenv/anyenv · GitHub が open されていたので、動向を見守ろう・・・。
*****
Run `pyenv init --path` for pyenv 2 by riywo · Pull Request #92 · anyenv/anyenv · GitHub で対応されたのかな?
但しこの対応は、pyenv --version
が git tag
で列挙されるタグの最新のものから自身のバージョンを決める動作になっており、かつそのメジャーバージョンが 2 以上の時に anyenv
がケアする動作になっている。pyenv
はかつてリポジトリ URL が変更されているので、最新のものにしておかないと git tag
が新しいバージョンを返さないので上記対応が効果をなさない。
% git remote -v origin https://github.com/pyenv/pyenv.git (fetch) origin https://github.com/pyenv/pyenv.git (push)
になっていることを確認しておくべきである。