web-dev-qa-db-fra.com

Puis-je installer Homebrew sans les privilèges Sudo?

Homebrew permet joliment d’installer des paquets sans privilèges Sudo, mais il me semble que j’ai besoin de privilèges d’administrateur pour installer Homebrew lui-même.

J'aimerais installer Homebrew dans un environnement Mac où je ne dispose pas des privilèges Sudo ou administrateur. Est-ce possible?

24
BenjaminGolder

Non. Sauf si vous faites une opération importante.

La raison en est que Homebrew insiste fortement sur l’installation de packages dans /usr/local. En fait, même si vous avez forcé son installation ailleurs, vous risquez de rompre les dépendances lorsque vous utilisez brew install pour installer des packages. La plupart, sinon tous, de ces paquets sont pré-compilés et liés, et devraient vivre dans /usr/local.

La raison de cette insistance est que /usr/local est précisément l'endroit où POSIX recommande d'installer des éléments comme celui-ci. Afin de créer /usr/local, Homebrew a besoin d'informations d'identification administratives temporaires pour créer le répertoire et attribuer les droits de propriété.

C'est ce qui vous permet d'installer quoi que ce soit sans élever les informations d'identification.

11
David Hoelzer

Oui.

J'ai modifié le script d'installation pour ne pas utiliser Sudo et pour utiliser un répertoire de votre choix. https://Gist.github.com/skyl/36563a5be809e54dc139

Téléchargez cela, définissez YOUR_HOME dans le script sur le chemin absolu. chmod +x le script. Créez le répertoire YOUR_HOME/usr/local. Ensuite, exécutez le script.

./install.rb

Dans .bash_profile, j'ai défini (je ne suis pas sûr que ce soit important, à peu près certain):

export HOMEBREW_PREFIX=/The/path/to/YOUR_HOME/usr/local

Maintenant je peux:

brew install wget

Assurez-vous que le répertoire bin, YOUR_HOME + /usr/local/bin se trouve sur votre $PATH.

which wget
15
Skylar Saveland

Oui.

Le système de brassage apparaît bootstrappable

#!/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
eel ghEEz

Pour installer homebrew sans Sudo .

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

Redémarrez le terminal et lancez

brew --version
0
Astik Anand

Ne fonctionne plus avec la nouvelle version de Brew

0
Maksim