Answers:
否。除非您进行大量手术。
原因是Homebrew坚决要求将软件包安装到/usr/local
。实际上,即使您强迫它安装在其他地方,使用brew install
软件包安装时也可能会破坏依赖关系。这些软件包中的大多数(如果不是全部的话)大多数都是预编译和链接的,期望可以使用/usr/local
。
这种坚持的原因/usr/local
正是POSIX建议安装此类东西的地方。为了创建/usr/local
Homebrew,需要临时的管理员凭据来创建目录并分配所有权。
反过来,这又使您可以在不提升凭证的情况下安装其他任何产品。
brew
使用设置为我的主目录的前缀运行了5年多了,那段时间我遇到了1或2个损坏的软件包。
是。
我修改了安装脚本,使其不使用sudo
并使用您选择的目录。https://gist.github.com/skyl/36563a5be809e54dc139
下载该文件,并YOUR_HOME
在脚本中设置为绝对路径。chmod +x
剧本。创建YOUR_HOME/usr/local
目录。然后,执行脚本。
./install.rb
在中.bash_profile
,我设置了(我很肯定这很重要,很确定):
export HOMEBREW_PREFIX=/The/path/to/YOUR_HOME/usr/local
现在我能:
brew install wget
确保bin
目录YOUR_HOME
+ /usr/local/bin
在您的上$PATH
。
which wget
#{YOUR_HOME}
必须在HOMEBREW_CACHE
变量中添加前缀。也就是说,因为已经有自制程序安装的系统管理员,我不得不添加export PATH=/path/to/home/usr/local/bin:$PATH
到.bash_profile
为好。但是,尽管如此,它看起来仍然很棒。
usr
,在脚本运行之前,您还必须在主目录中建立一个目录。此外,当您添加#{YOUR_HOME}
到HOMEBREW_CACHE
变量时,似乎需要将单引号更改为双引号以使其起作用。因此,有一些步骤,但是绝对有必要获得Homebrew的力量。
chgrp admin /usr/local
,并且非管理员帐户不是admin组的成员,因此可以不能更改该组的任何内容。如果可以使它对普通的非管理员帐户有效(这不仅适用于出于某些奇怪原因而被sudo锁定的管理员帐户),那将是很棒的。
是。
冲煮系统似乎可引导
#!/bin/bash
set -ex
export HOMEBREW_PREFIX=~/homebrew
# export HOMEBREW_NO_ANALYTICS=1
mkdir -p "${HOMEBREW_PREFIX}"
curl -fsSLk https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C "${HOMEBREW_PREFIX}"
ls -laR "${HOMEBREW_PREFIX}"
export PATH="${HOMEBREW_PREFIX}/bin:${PATH}"
type -a brew
type -a openssl || :
openssl version -a || :
type -a curl || :
curl -V || :
# Fails to lock a .git/config file.
##brew analytics off
# No "brew update" until installing the proper openssl and a curl that uses it.
# brew update
# brew remove openssl || :
brew install openssl
brew link --force openssl
# brew remove curl || :
brew install --with-openssl curl
brew link --force curl || :
curl -V
ls -la "${HOMEBREW_PREFIX}/opt"
ls -la "${HOMEBREW_PREFIX}/bin"
ls -laLR "${HOMEBREW_PREFIX}/opt/curl/"
要安装没有sudo的自制软件。
git clone https://github.com/mxcl/homebrew.git
echo 'export PATH="/path/to/cloned_folder/homebrew/bin:$PATH"' >> ~/.bash_profile
重新启动终端并运行
brew --version
Brew移动了他们的git repo,这就是上面的方法不再起作用的原因。
git clone git@github.com:Homebrew/brew.git
echo 'export PATH="/path/to/cloned_folder/homebrew/bin:$PATH"' >> ~/.bash_profile