【问题标题】:Can I use Homebrew on Ubuntu?我可以在 Ubuntu 上使用 Homebrew 吗?
【发布时间】:2015-10-26 19:04:35
【问题描述】:

我刚刚尝试使用 Homebrew 和 Linuxbrew 在我的 Ubuntu 服务器上安装软件包,但都失败了。这就是我尝试安装它们的方式:

sudo apt-get install build-essential curl git m4 ruby texinfo libbz2-dev libcurl4-openssl-dev libexpat-dev libncurses-dev zlib1g-dev

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)"

我收到以下警告:

Warning: /home/tong/.linuxbrew/bin is not in your PATH.

我在 home/etc 中查看我的 bash.bashrc 并添加以下内容:

export PATH="$HOME/.linuxbrew/bin:$PATH"
export MANPATH="$HOME/.linuxbrew/share/man:$MANPATH"
export INFOPATH="$HOME/.linuxbrew/share/info:$INFOPATH"

然后我尝试了brew doctor,但得到了No command 'brew' found。如何在 Ubuntu 上使用 Homebrew?

【问题讨论】:

  • 请问,我现在有一个zinc-0.3.9.tgz,我想安装这个zinc编译服务器,我应该使用什么apt命令? apt-get install 找不到包,我必须先下载tgz,然后在本地安装。谢谢
  • 不确定“我在 home/etc 中的 bash.bashrc”是什么意思,但 .bash_profile 和 .bashrc 应该在 $HOME 中。
  • snapcraft.io 可能值得一试
  • 如果有人还在寻找docs.brew.sh/Homebrew-on-Linux,这里是文档的答案

标签: linux ubuntu debian homebrew linuxbrew


【解决方案1】:

截至 2018 年 2 月,在 Ubuntu(我的是 17.10)机器上安装 brew 非常简单:

sudo apt install linuxbrew-wrapper

然后,在第一次执行 brew 时(只需输入 brew --help),您将被要求提供两个安装选项:

me@computer:~/$ brew --help
==> Select the Linuxbrew installation directory
- Enter your password to install to /home/linuxbrew/.linuxbrew (recommended)
- Press Control-D to install to /home/me/.linuxbrew
- Press Control-C to cancel installation
[sudo] password for me:

对于推荐的选项,请输入您的密码(如果您当前的用户在 sudo 组中),或者,如果您希望将所有依赖项安装在您自己的主文件夹中,请点击 Ctrl+ D。享受吧。

【讨论】:

  • 为什么推荐/home/linuxbrew/.linuxbrew?
  • 显然,出于安全原因。 brew 将在其专用用户下运行。以apachewww-data 为例。
  • 谢谢。但我不知道apachewww-data。另外,鉴于它不需要 sudo 权限,还有哪些安全问题?
  • 这是一个相当大的话题,我很确定serverfault.com 已经涵盖了这个话题。我想说,如果你的机器没有暴露在互联网上,而是一台开发机器或类似机器,你可能不应该关心。
  • 我收到此错误E: Unable to locate package linuxbrew-wrapper
【解决方案2】:

我只是尝试使用 ruby​​ 命令安装它,但不知何故,依赖关系没有解决,因此 brew 没有完全安装。但是,尝试通过克隆安装:

git clone https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew

然后将以下内容添加到您的.bash_profile

export PATH="$HOME/.linuxbrew/bin:$PATH"
export MANPATH="$HOME/.linuxbrew/share/man:$MANPATH"
export INFOPATH="$HOME/.linuxbrew/share/info:$INFOPATH"

它应该可以工作..

【讨论】:

  • 你的意思是我可以通过克隆来安装它?
  • 对于克隆,您需要首先清理/删除在您的用户空间下创建的 .linuxbrew。然后实际上你需要执行 git clone 来获取包,然后将导出命令包含到你的 bash_profile 文件中。
  • 是的。我刚刚做了一个全新的安装。你面临什么样的错误?
  • 依次运行以下命令:1) rm -rf $home/tong/.linuxbrew 2) git clone https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew 3) 回到你家并使用 vi 创建 .bash_profile 4) 将导出命令粘贴到这个文件中 5) 之后打开一个新的终端窗口,然后输入 brew 看看它是否有效
  • 来自docs.brew.sh/Linuxbrew,你现在可以使用sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)",然后将eval $(~/.linuxbrew/bin/brew shellenv)添加到你的~/.zshrc~/.profile,这会将Linuxbrew添加到你的PATH
【解决方案3】:

截至 2020 年 8 月(也适用于 kali linux)

sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"

export brew=/home/linuxbrew/.linuxbrew/bin

test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)

test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)

test -r ~/.profile && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.profile     // for ubuntu and debian

【讨论】:

  • 这绝对是现在在linux上安装homebrew的方法了。
  • 如果有人运行 .zsh shell,运行 all 并将最后一行替换为 -- test -r ~/.zshrc && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.zshrc
  • 警告:Linuxbrew 已合并到 Homebrew 中。请迁移到以下命令:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
【解决方案4】:

以下步骤对我有用:

  • 从 github 克隆它

    git clone https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew
    
  • 使用vi ~/.bash_profile打开您的 .bash_profile 文件

  • 添加这些行

    export PATH="$HOME/.linuxbrew/bin:$PATH"
    export MANPATH="$HOME/.linuxbrew/share/man:$MANPATH"
    export INFOPATH="$HOME/.linuxbrew/share/info:$INFOPATH"
    
  • 然后在终端中输入以下行

    export PATH=$HOME/.linuxbrew/bin:$PATH
    hash -r
    

是的,已经完成了。在终端中输入 brew 以检查它的存在。

【讨论】:

  • 看来我的二进制文件安装到/home/linuxbrew/.linuxbrew/opt/**/*/bin
【解决方案5】:

您可以按照Homebrew on Linux docs 的说明进行操作,但我认为最好了解说明的目的。

了解安装步骤可以节省一些时间


第 1 步:选择位置

首先,重要的是要了解linuxbrew 将安装在/home 目录而不是/home/your-user~ 目录)内。
(请参阅答案末尾的原因)。
运行以下其他步骤时请记住这一点。

第 2 步:将 linuxbrew 二进制文件添加到 /home

installation script 会为我们做这件事:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

第 3 步:检查 /linuxbrew 是否已添加到相关位置

这可以通过简单地导航到/home来完成。
请注意,docs 通过在每个命令前添加 test -d <linuxbrew location> 将其显示为单行。

(在here 中阅读有关test 命令的更多信息)。

第四步:将相关环境变量导出到终端

我们需要将 linuxbrew 添加到PATH 并在当前终端添加更多环境变量。

我们可以将以下exports 添加到终端(等等不要这样做..):

export PATH="/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin${PATH+:$PATH}";

export HOMEBREW_PREFIX="/home/linuxbrew/.linuxbrew";
export HOMEBREW_CELLAR="/home/linuxbrew/.linuxbrew/Cellar";
export HOMEBREW_REPOSITORY="/home/linuxbrew/.linuxbrew/Homebrew";
export MANPATH="/home/linuxbrew/.linuxbrew/share/man${MANPATH+:$MANPATH}:";
export INFOPATH="/home/linuxbrew/.linuxbrew/share/info:${INFOPATH:-}";

或者直接运行(如果您的 linuxbrew 文件夹在其他位置,那么 /home - 更改路径):

eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)

(*) 因为brew 命令尚未被当前终端识别(这是我们现在正在解决的问题),我们必须指定 brew 二进制文件的完整路径:/home/linuxbrew/.linuxbrew/bin/brew shellenv

通过以下方式测试此步骤:

1 ) 从当前终端运行brew 以查看它是否识别命令。

2 ) 运行printenv 并检查是否所有环境变量都已导出,并且您是否在PATH 上看到/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin

第 5 步:确保第 4 步在每个终端上运行

我们需要将第 4 步添加到~/.profile(如果是 Debian/Ubuntu):

echo "eval \$($(brew --prefix)/bin/brew shellenv)" >> ~/.profile

对于 CentOS/Fedora/Red Hat - 将 ~/.profile 替换为 ~/.bash_profile

第6步:确保打开新终端时正在执行~/.profile~/.bash_profile

如果您执行了第 5 步,但无法从新终端运行 brew - 将类似 echo "Hi!" 的测试命令添加到 ~/.profile~/.bash_profile
如果您在打开新终端时没有看到 Hi! - 转到终端首选项并确保设置了“run command as login shell”的属性。
here 中阅读更多内容。


为什么安装脚本会将 Homebrew 安装到 /home/linuxbrew/.linuxbrew - 来自 here

安装脚本将 Homebrew 安装到 /home/linuxbrew/.linuxbrew 使用 sudo 如果可能的话,在你的家里 ~/.linuxbrew 的目录,否则。 Homebrew 不使用sudo 安装后。
使用/home/linuxbrew/.linuxbrew 允许 使用比在您的个人中安装更多的二进制包(瓶子) 主目录。

选择了前缀/home/linuxbrew/.linuxbrew,以便用户 没有管理员权限可以要求管理员创建 linuxbrew 角色 帐户并仍然受益于预编译的二进制文件。

如果您自己没有管理员权限,请考虑询问您的 管理员人员为您创建一个 linuxbrew 角色帐户与 home 目录/home/linuxbrew

【讨论】:

    【解决方案6】:

    现在 brew 正式支持 Linux - 请参阅 Homebrew 2.0.0 博客文章。如https://brew.sh 所示,只需将其复制/粘贴到命令提示符中即可:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
    

    【讨论】:

      【解决方案7】:

      因为以前的所有答案都不适用于 ubuntu 14.04 这是我所做的,如果有人遇到同样的问题:

      git clone https://github.com/Linuxbrew/brew.git ~/.linuxbrew
      PATH="$HOME/.linuxbrew/bin:$PATH"
      export MANPATH="$(brew --prefix)/share/man:$MANPATH"
      export INFOPATH="$(brew --prefix)/share/info:$INFOPATH"
      

      然后

      sudo apt-get install gawk
      sudo yum install gawk
      brew install hello
      

      您可以关注此link 了解更多信息。

      【讨论】:

        【解决方案8】:

        2019 年 10 月 - 带有 oh-my-zsh 的 WSL 上的 Ubuntu 18.04; instructions 这里工作得很好-

        (首先,使用 sudo apt-get install build-essential curl file git 安装先决条件)

        最后创建一个~/.zprofile,内容如下: emulate sh -c '. ~/.profile'

        【讨论】:

          猜你喜欢
          • 2011-07-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-08-30
          • 2015-03-01
          • 2017-02-06
          • 2018-11-02
          • 2021-02-23
          相关资源
          最近更新 更多