らんだむな記憶

blogというものを体験してみようか!的なー

pyenv init - no longer sets PATH

という警告が出ている環境があった。(最近 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 --versiongit 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)

になっていることを確認しておくべきである。