通过 ssh 连接时,Homebrew 在 Ubuntu 上不可用(PATH 不包括brew 位置)

通过 ssh 连接时,Homebrew 在 Ubuntu 上不可用(PATH 不包括brew 位置)

我正在使用 ssh 从 Mac 连接到安装了 Homebrew 的 Ubuntu 机器(按照这些指示)。直接使用Ubuntu机器时,brew工作正常。但是通过 ssh,我收到了消息zsh: command not found: brew。我在两台机器上都使用 zsh 和 oh-my-zsh。我使用 ssh 连接时的变量与我直接使用机器时的PATH变量不同(没有很多位置,包括 for 的位置)。brew我怀疑问题可能出在上面提到的那个这里,但我不太明白解决方案是什么。

了解通过 ssh 连接时如何获得与机器上相同的路径非常有用。谢谢。

答案1

我从答案中的评论中得到了一些启发,成功地解决了这个问题所以问题。

添加export PATH=:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:$PATH.zshenv主目录中的文件(如果尚不存在,则可能需要创建)解决了问题,现在我在 ssh 登录时看到了完整路径。

我对问题原因的理解是 ssh 通过非交互模式连接(不完全确定那是什么!)。PATH通过 ssh 非交互方式远程访问时,不会获取 Ubuntu 计算机的整个变量。该brew路径一次直接附加到PATHenv 变量(即,在登录/连接等过程中不通过 .zshrc 等附加)。.zshrc即使建立非交互式连接,也会获取源,并且在此处附加路径解决了问题。PATH直接使用Ubuntu机器时并没有改变env变量。

相关内容