我可以翻译为:我能在Ubuntu上使用Homebrew吗?

45

我刚刚尝试使用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?


1
对不起,现在我有一个zinc-0.3.9.tgz文件,我想要安装这个zinc编译服务器,我应该使用什么apt命令?apt-get install找不到该软件包,我必须先下载tgz文件,然后在本地安装。谢谢。 - Gavin Niu
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - ianml
值得一试的是 snapcraft.io - penduDev
1
这是来自文档的答案,如果有人仍在寻找 https://docs.brew.sh/Homebrew-on-Linux - x85ms16
9个回答

54

更新:

看起来这个软件包已经不再维护了。我建议使用Lars提供的解决方案。

旧答案:

截至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 目录? - Porcupine
1
显然,出于安全考虑,“brew”将在其专用用户下运行。可以将“apache”和“www-data”作为示例。 - Andrejs Cainikovs
谢谢。但是我不知道apachewww-data是什么。另外,考虑到它不需要sudo权限,有哪些安全问题呢? - Porcupine
这是一个相当大的话题,我非常确定在 https://serverfault.com 上已经有相关内容了。如果您的机器没有暴露在互联网上,而是开发机器或类似的机器,那么您可能不需要担心。 - Andrejs Cainikovs
23
我收到了这个错误信息:E: 找不到软件包 linuxbrew-wrapper - Panagiss

53

我刚尝试使用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"

应该可以正常工作。


你的意思是我只需要克隆它就可以安装了? - Gavin Niu
克隆之前,您需要首先清除/删除在您的用户空间下创建的.linuxbrew。然后有效地执行git clone,这将获取软件包,然后将导出命令包含到您的bash_profile文件中。 - user3307291
是的,它可以。我刚刚进行了全新安装。你遇到了什么样的错误? - user3307291
9
请按照以下顺序执行这些命令:1)运行 rm -rf $home/tong/.linuxbrew 命令;2)使用 git clone https://github.com/Homebrew/linuxbrew.git ~/.linuxbrew 命令克隆项目;3)进入您的主目录并使用 vi 创建 .bash_profile 文件;4)将导出命令粘贴到此文件中;5)然后打开一个新终端窗口,输入 brew 命令以检查它是否有效。 - user3307291
2
从 https://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 - jk2K
显示剩余2条评论

18

截至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

1
这绝对是在Linux上安装Homebrew的正确方法。 - x85ms16
1
如果有人在运行.zsh shell,请运行所有命令并将最后一行替换为以下内容-- test -r ~/.zshrc && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.zshrc - Gajen Sunthara
警告:Linuxbrew已合并到Homebrew中。 请迁移到以下命令: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" - smbanaei

14
以下步骤适用于我:
  • 从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 - chovy

    7
    您可以按照Linux 上的 Homebrew 文档中的说明操作,但我认为更好的方式是理解这些步骤试图实现什么目标。

    理解安装步骤可节省时间


    步骤 1:选择位置

    首先,重要的是要理解 linuxbrew将安装在/home目录下,而不是在/home/your-user(即~目录)内。
    (请参见答案结尾处的原因。)
    在执行下面的其他步骤时,请记住这一点。

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

    安装脚本将为我们完成此任务:

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

    第三步:检查/linuxbrew是否添加到了正确的位置

    只需导航到/home即可完成此操作。
    注意,文档将其显示为一个单行命令,通过在每个命令之前添加test -d <linuxbrew位置>来完成。

    (在此处了解更多关于test命令的信息)。

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

    我们需要将linuxbrew添加到PATH中,并向当前终端添加一些其他环境变量。

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

    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! - 转到终端首选项并确保“以登录外壳运行命令”属性已设置。
    此处阅读更多信息。


    为什么安装脚本将Homebrew安装到/home/linuxbrew/.linuxbrew - 参见此处

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

    选择前缀/home/linuxbrew/.linuxbrew是为了使没有管理员访问权限的用户可以要求管理员创建一个linuxbrew角色帐户,并且仍然从预编译的二进制文件中获益。

    如果您自己没有管理员权​​限,请考虑请求您的管理人员为您创建一个具有主目录/home/linuxbrewlinuxbrew角色帐户。


    3

    现在,Linux 已经正式支持 brew 了——请查看Homebrew 2.0.0的博客文章。如 https://brew.sh 上所示,只需将以下内容复制粘贴到命令提示符中:

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

    2

    因为之前的所有答案在我使用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
    

    你可以访问这个链接获取更多相关的信息。

    1

    做什么

       cd /home/linuxbrew/.linuxbrew/bin
        ./brew doctor
    

    你将获得导出的路径

       echo 'export PATH="/home/linuxbrew/.linuxbrew/bin:$PATH"' >> ~/.zshrc
    

    1

    2019年10月 - 在WSL上安装Ubuntu 18.04和oh-my-zsh; 这里的说明完美地起作用-

    (首先,使用sudo apt-get install build-essential curl file git安装必要的前提条件)

    最后创建一个~/.zprofile文件,并包含以下内容: emulate sh -c '. ~/.profile'


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接