docs.brew.shの手動インストール手順 は非常に簡潔で不十分であり、Sudo
を使用せずに/usr/local
のサブディレクトリで試してみるとエラーが発生します。 この質問 とその 受け入れられた回答 の方向は少し良いですが、Sudo
を使用しないと機能しません。
Homebrew自体をインストールするためにSudo
を使用する必要があるかもしれないことを理解していますが、新しいパッケージのインストールや更新などのためにSudo
を使い続ける必要がないことを願っています(標準のHomebrewインストールスクリプトはSudo
ただし、絶対に必要な場合のみ。標準的な結果として、新しいパッケージのインストールや更新などにSudo
を使用する必要はありません。)
Homebrewを/usr/local
サブディレクトリに手動でインストールするにはどうすればよいですか?
手動インストール情報の動機/usr/local
サブディレクトリ:
インストール後にユーザーがSudo
を使用する必要性を回避する動機:
注:この回答は、macOSユーザーが管理者として設定されていることを前提としています。
重要:以下で説明するように絶対に必要な場合を除いて、Sudo
を使用しないでください。最終結果は、Sudo
を二度と使用する必要のないHomebrewインストールになるはずです。
まず、Sudo
を使用して/usr/local
内に一時ディレクトリを作成します(必要に応じてパスワードを入力します)。
Sudo mkdir /usr/local/brewtmp1
ls -l /usr/local
の結果を確認してください:
total 0
drwxr-xr-x 2 root wheel 64 Jul 2 16:16 brewtmp1
一時ディレクトリのユーザーとグループの所有権を修正します。
Sudo chown $USER:admin brewtmp1
ls -l /usr/local
の結果をもう一度確認してください。
total 0
drwxr-xr-x 2 brodybits admin 64 Jul 2 16:16 brewtmp1
次に、一時ディレクトリ内で、 GitHubのHomebrew/brewmaster
を使用せずに、Sudo
ブランチのコンテンツをダウンロードして抽出します。
cd /usr/local/brewtmp1
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz
ls -l
内の/usr/local/brewtmp1
の結果を確認します。
total 0
drwxr-xr-x 16 brodybits admin 512 Jul 2 14:46 Homebrew-brew-cbc3184
ls -l Homebrew-brew-*
の結果を確認してください:
total 48
-rw-r--r-- 1 brodybits admin 98 Jul 2 14:46 CHANGELOG.md
-rw-r--r-- 1 brodybits admin 3161 Jul 2 14:46 CODE_OF_CONDUCT.md
-rw-r--r-- 1 brodybits admin 720 Jul 2 14:46 CONTRIBUTING.md
-rw-r--r-- 1 brodybits admin 1334 Jul 2 14:46 LICENSE.txt
drwxr-xr-x 7 brodybits admin 224 Jul 2 14:46 Library
-rw-r--r-- 1 brodybits admin 7374 Jul 2 14:46 README.md
drwxr-xr-x 3 brodybits admin 96 Jul 2 14:46 bin
drwxr-xr-x 5 brodybits admin 160 Jul 2 14:46 completions
drwxr-xr-x 48 brodybits admin 1536 Jul 2 14:46 docs
drwxr-xr-x 5 brodybits admin 160 Jul 2 14:46 manpages
これにより、Homebrewのコンテンツが正しいユーザーとグループで表示されます。
Homebrew-brew-???????
の名前をhomebrew
(Sudo
を使用せずに)に変更します(以下の他の手順に合わせて、別の名前を使用しても問題ありません):
mv Homebrew-brew-??????? homebrew
ls -l
の結果を再確認します。
total 0
drwxr-xr-x 16 brodybits admin 512 Jul 2 14:46 homebrew
homebrew
を使用して、新しいSudo
ディレクトリを適切な場所に移動します。
Sudo mv /usr/local/brewtmp1/homebrew /usr/local
ls -l /usr/local
の結果を再確認してください。
total 0
drwxr-xr-x 2 brodybits admin 64 Jul 2 16:20 brewtmp1
drwxr-xr-x 16 brodybits admin 512 Jul 2 14:46 homebrew
次の行をプロファイルファイルに追加します(必要に応じて.profile
または.bash_profile
)( 別の質問に対するこの回答 の指示に従って):
export PATH=/usr/local/homebrew/bin:$PATH
シェルを再起動するか、新しいシェルを起動するか、プロファイルファイルを入手してください。 which brew
が/usr/local/homebrew/bin/brew
を示していることを確認します。次に、brew --version
が機能することを確認します(ただし、homebrew-core
はインストールされていません)。
Homebrew >=1.4.0 (shallow or no git repository)
Homebrew/homebrew-core N/A
この時点でbrew doctor
を実行することをお勧めします。これには、homebrew-core
が含まれ、適切にインストールされていることを確認します。非標準のHomebrewプレフィックスに関する警告が出力される場合がありますが、これはほとんどのパッケージで問題になるはずです。次に、brew --version
はhomebrew-core
が含まれていることを示す必要があります。
Homebrew >=1.4.0 (shallow or no git repository)
Homebrew/homebrew-core (git revision 2f937; last commit 2018-07-02)
autoconf
などの簡単な数式をインストールしてみてください。
brew install autoconf
autoconf --version
は、インストールされていることを示しているはずです。
分析を無効にするには( この記事 のおかげで、パッケージのインストール後に実行する必要があります):
brew analytics off
ls -l /usr/local/homebrew
は次のようになります。
total 48
-rw-r--r-- 1 brodybits admin 98 Jul 2 16:43 CHANGELOG.md
-rw-r--r-- 1 brodybits admin 3161 Jul 2 16:43 CODE_OF_CONDUCT.md
-rw-r--r-- 1 brodybits admin 720 Jul 2 16:43 CONTRIBUTING.md
drwxr-xr-x 3 brodybits admin 96 Jul 2 16:43 Cellar
-rw-r--r-- 1 brodybits admin 1334 Jul 2 16:43 LICENSE.txt
drwxr-xr-x 8 brodybits admin 256 Jul 2 16:43 Library
-rw-r--r-- 1 brodybits admin 7374 Jul 2 16:43 README.md
drwxr-xr-x 10 brodybits admin 320 Jul 2 16:43 bin
drwxr-xr-x 5 brodybits admin 160 Jul 2 16:43 completions
drwxr-xr-x 48 brodybits admin 1536 Jul 2 16:43 docs
drwxr-xr-x 3 brodybits admin 96 Jul 2 16:43 etc
drwxr-xr-x 5 brodybits admin 160 Jul 2 16:43 manpages
drwxr-xr-x 4 brodybits admin 128 Jul 2 16:43 opt
drwxr-xr-x 8 brodybits admin 256 Jul 2 16:43 share
drwxr-xr-x 3 brodybits admin 96 Jul 2 16:42 var
欠落している可能性のあるディレクトリをいくつか追加し、Homebrewインストールスクリプトの結果と一致するようにいくつかのディレクトリ権限を修正することをお勧めします(brew doctor
がこの部分をチェックして処理することを提案したい):
cd /usr/local/homebrew
mkdir -p include Caskroom Cellar lib opt share var
chmod g+w include Caskroom Cellar lib opt share var
そして最後に/usr/local/brewtmp1
をクリーンアップします(Sudo
を使用):
Sudo rm -rf /usr/local/brewtmp1
追加の資料およびその他のリソース: