Brew 已安装,已链接,但未找到

OJF*_*ord 15 symbolic-link homebrew macos

我刚刚mtr通过 Homebrew安装,它似乎成功地完成了(即,没有什么异常)。

MBA% mtr
zsh: command not found: mtr
Run Code Online (Sandbox Code Playgroud)

这很奇怪。我想我会再试一次:

MBA% brew install mtr
Warning: mtr-0.86 already installed
Run Code Online (Sandbox Code Playgroud)

好吧,也许它的符号链接为mtr-0.86

MBA% mtr-0.86
zsh: command not found: mtr-0.86
Run Code Online (Sandbox Code Playgroud)

不,好吧,也许只是链接失败:

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
Run Code Online (Sandbox Code Playgroud)

然而:

MBA% /usr/local/Cellar/mtr/0.86/sbin/mtr
[Success]
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?为什么 Homebrew 无法链接(并在重新链接时创建更少的符号链接..)?

小智 17

我在安装 brew 0.86 时看到了同样的情况。虽然大多数二进制文件链接到 /usr/local/bin,但 brew get 链接到 /usr/local/sbin。这是绝对正确的,但您需要扩展您的路径以避免键入整个路径。

export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

将修复一次,您需要调整 .bash_profile 以永久修复它


Vas*_*iak 13

对于 mtr v0.86 及以下版本:

brew install mtr
ln /usr/local/Cellar/mtr/0.86/sbin/mtr /usr/local/bin/mtr
sudo mtr superuser.com
Run Code Online (Sandbox Code Playgroud)

但是由于 mtr v0.87 还需要一个命令:

ln /usr/local/Cellar/mtr/0.92/sbin/mtr-packet /usr/local/bin/mtr-packet
Run Code Online (Sandbox Code Playgroud)

  • 实际上 mtr 已经在 /usr/local/sbin 中了。将 /usr/local/sbin 添加到PATH的解决方案更好。 (2认同)