24

Homebrew прекрасно позволяет устанавливать пакеты без прав sudo, но мне кажется, что мне нужны права администратора для установки самого Homebrew.

Я хотел бы установить Homebrew в среде Mac, где у меня нет прав sudo или admin. Это возможно?

5 ответов5

15

Да.

Я изменил скрипт установки, чтобы не использовать 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
11

Нет .. Если вы не делаете значительную операцию.

Причина в том, что Homebrew настаивает на установке пакетов в /usr/local . На самом деле, даже если вы заставили его установить куда-то еще, вы, скорее всего, нарушите зависимости, когда используете brew install для установки пакетов. Большинство, если не все эти пакеты предварительно скомпилированы и связаны, ожидая, что они будут жить в /usr/local .

Причиной такой настойчивости является то, что /usr/local именно там, где POSIX рекомендует устанавливать подобные вещи. Для создания /usr/local Homebrew требуются временные учетные данные администратора для создания каталога и назначения владельца.

Это, в свою очередь, то, что позволяет вам устанавливать что-либо еще без повышения учетных данных.

0

Да.

Система варки выглядит загружаемой

#!/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/"
0

Для установки доморощенного без sudo.

git clone https://github.com/mxcl/homebrew.git
echo 'export PATH="/path/to/cloned_folder/homebrew/bin:$PATH"' >> ~/.bash_profile

Перезапустите терминал и запустите

brew --version
0

Больше не работает с новой версией Brew

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .