我安装了 Brew for Ubuntu,就像在他们的网站上一样。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
然后我添加路径:
test -d ~/.linuxbrew && eval "$(~/.linuxbrew/bin/brew shellenv)"
test -d /home/linuxbrew/.linuxbrew && eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
test -r ~/.bash_profile && echo "eval \"\$($(brew --prefix)/bin/brew shellenv)\"" >> ~/.bash_profile
echo "eval \"\$($(brew --prefix)/bin/brew shellenv)\"" >> ~/.profile
然后我运行:
brew install hello
确认工作正常。此命令返回
Warning: hello 2.12 is already installed and up-to-date.
然后我退出终端,打开一个新终端并运行:
brew
这又回来了
Command 'brew' not found, did you mean:
我用
Description: Ubuntu 20.04.4 LTS
我使用的 bash 是:
/proc/37922/exe -> /usr/bin/bash
在 bash_profile 中,我看到了“测试”和回显。可能出了什么问题……
答案1
下文解释的实际结果:添加所有变量,然后~/.profile
注销并重新登录以查看它们是否被“记住”。
了解正在发生的事情
当您关闭终端并重新打开它时,您在当前会话中设置的环境变量将会丢失。
要自动使环境变量可用,必须从适当的初始化文件运行设置它们的命令。在 Ubuntu 上,~/.profile
在登录时(即启动登录 shell 时)读取一次。~/.bashrc
每次打开交互式终端时运行。
在 Ubuntu 上,.profile
是设置当前用户需要随时可用的环境变量的适当位置。 只需在终端提示符下工作时可用的环境变量可以放置在 中~/.bashrc
。
Ubuntu 使用~/.profile
。然而,Bash 会首先查找~/.bash_profile
,然后查找文件.bash_login
,只有当这些文件不存在时,它才会查找~/.profile
。
出于我无法理解的原因,您选择~/.bash_profile
在系统上创建一个文件,然后向其中添加一些内容~/.profile
。
了解 1) 这些文件仅在登录时执行并且 2) 如果您创建了~/.bash_profile
,则将~/.profile
不再使用。
答案2
我正在使用 Ubuntu 20.04 桌面,通过两种方式解决了这个问题:
- 在终端首选项 -> 配置文件 -> 命令 -> 勾选以登录方式运行命令
或者
添加eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
到~/.bashrc
,然后source ~/.bashrc