概要
snapでインストールしたherokuコマンドがzshから使えなかったので、PATHを通した。
それだけ。
経緯
herokuコマンドが無いと言われた。
% sudo snap install --classic heroku
heroku v7.21.0 from Heroku✓ installed
% heroku help
zsh: command not found: heroku
調べたら原因は /snap/bin
にPATHが通ってないことがわかった。
bashだとPATH通っている。
- 再現した環境
% snap version
snap 2.37.2
snapd 2.37.2
series 16
ubuntu 18.04
kernel 4.15.0-1019-aws
対応
/etc/zsh/zprofile
の末尾に以下を追記した。
# Expand $PATH to include the directory where snappy applications go.
snap_bin_path="/snap/bin"
if [ -n "${PATH##*${snap_bin_path}}" -a -n "${PATH##*${snap_bin_path}:*}" ]; then
export PATH=$PATH:${snap_bin_path}
fi
※ /etc/profile.d/apps-bin-path.sh
から抜粋した。
まとめ
snapでインストールしたコマンドがzshでPATH通ってなかったので、PATHを通した。
が、果たしてこの対応が本当に正しいのだろうか。
正しい方法知ってたら誰か教えてほしい。
補足
こういうバグレポートを見つけた。
https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1640514