Homebrew прекрасно позволяет устанавливать пакеты без прав sudo, но мне кажется, что мне нужны права администратора для установки самого Homebrew.
Я хотел бы установить Homebrew в среде Mac, где у меня нет прав sudo или admin. Это возможно?
Да.
Я изменил скрипт установки, чтобы не использовать 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
Нет .. Если вы не делаете значительную операцию.
Причина в том, что Homebrew настаивает на установке пакетов в /usr/local
. На самом деле, даже если вы заставили его установить куда-то еще, вы, скорее всего, нарушите зависимости, когда используете brew install
для установки пакетов. Большинство, если не все эти пакеты предварительно скомпилированы и связаны, ожидая, что они будут жить в /usr/local
.
Причиной такой настойчивости является то, что /usr/local
именно там, где POSIX рекомендует устанавливать подобные вещи. Для создания /usr/local
Homebrew требуются временные учетные данные администратора для создания каталога и назначения владельца.
Это, в свою очередь, то, что позволяет вам устанавливать что-либо еще без повышения учетных данных.
Да.
Система варки выглядит загружаемой
#!/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