HomebrewはSudo特権なしでパッケージのインストールをうまく許可していますが、Homebrew自体をインストールするには管理者特権が必要なようです。
Sudoまたは管理者権限を持っていないMac環境にHomebrewをインストールしたいのですが。これは可能ですか?
いいえ。重要な手術をしない限り。
その理由は、Homebrewがパッケージを/usr/local
にインストールすることを強く要求しているためです。実際、別の場所に強制的にインストールした場合でも、brew install
を使用してパッケージをインストールすると、依存関係が壊れる可能性があります。これらのパッケージのすべてではないにしても、ほとんどは/usr/local
での実行を想定して事前にコンパイルおよびリンクされています。
この主張の理由は、/usr/local
が、POSIXがこのようなものをインストールすることを推奨する場所であるためです。 /usr/local
を作成するには、Homebrewがディレクトリを作成して所有権を割り当てるための一時的な管理者資格情報が必要です。
これにより、資格情報を昇格せずに他のものをインストールできるようになります。
はい。
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
sudoなしのhomebrewをインストールします。
git clone https://github.com/mxcl/homebrew.git
echo 'export PATH="/path/to/cloned_folder/homebrew/bin:$PATH"' >> ~/.bash_profile
端末を再起動して実行
brew --version
Brewがgitリポジトリを移動したため、上記は機能しなくなりました。
git clone [email protected]:Homebrew/brew.git
echo 'export PATH="/path/to/cloned_folder/homebrew/bin:$PATH"' >> ~/.bash_profile
はい。
醸造システムはブートストラップ可能に見える
#!/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/"
新しいバージョンのBrewでは動作しなくなりました