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?
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.
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
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/"
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
Ne fonctionne plus avec la nouvelle version de Brew