Homebrew 経由でインストールしたところmtr
、正常に完了したようです (つまり、異常はありません)。
MBA% mtr
zsh: command not found: mtr
それは奇妙だ。もう一度試してみようと思った。
MBA% brew install mtr
Warning: mtr-0.86 already installed
わかりました。次のようにシンボリックリンクされている可能性がありますmtr-0.86
:
MBA% mtr-0.86
zsh: command not found: mtr-0.86
いいえ、わかりました。リンクに失敗しただけかもしれません。
MBA% brew link mtr
Warning: Already linked: /usr/local/Cellar/mtr/0.86
To relink: brew unlink mtr && brew link mtr
MBA% brew unlink mtr && brew link mtr
Unlinking /usr/local/Cellar/mtr/0.86... 3 symlinks removed
Linking /usr/local/Cellar/mtr/0.86... 2 symlinks created
MBA% mtr zsh: command not found: mtr
しかし:
MBA% /usr/local/Cellar/mtr/0.86/sbin/mtr
[Success]
何が起こっているのでしょうか? Homebrew がリンクに失敗するのはなぜでしょうか (また、再リンク時に作成されるシンボリックリンクの数が少なくなるのはなぜでしょうか)?
答え1
brew 0.86 をインストールしたときにも同じことが起こりました。ほとんどのバイナリは /usr/local/bin にリンクされますが、brew は /usr/local/sbin にリンクされます。これはまったく正しいのですが、パス全体を入力せずに済むようにパスを拡張する必要があります。
export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"
一度修正すると、永続的に修正するには.bash_profileを調整する必要があります。
答え2
mtr v0.86 以下の場合:
brew install mtr
ln /usr/local/Cellar/mtr/0.86/sbin/mtr /usr/local/bin/mtr
sudo mtr superuser.com
しかし、mtr v0.87 以降ではもう 1 つのコマンドが必要になります。
ln /usr/local/Cellar/mtr/0.92/sbin/mtr-packet /usr/local/bin/mtr-packet
答え3
現在の変数/usr/local/sbin
に追加して永続化します。PATH
export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"
echo '/usr/local/sbin' | sudo tee -a /etc/paths
答え4
スタックオーバーフローで答えを見つけました:https://stackoverflow.com/a/72387809/602072
注意: Apple Silicon マシンの場合、PATH は異なります。
この行を追加する
.bashrc
か、.zshrc
# Intel export PATH=$PATH:/usr/local/sbin # Apple Silicon export PATH=$PATH:/opt/homebrew/sbin
ターミナルを実行する
source ~/.bashrc
か、閉じるか開きます。source ~/.zshrc
その後、通常通りmtrを実行します
sudo mtr 1.1.1.1