29

Homebrewをインストールしていますが$HOME/brew、歴史的にはうまく機能しています。残念なことに、時間が経つにつれて、Homebrew は .NET 以外のインストールに対してますます寛容ではなくなり/usr/localました。さまざまな式は、インストール プレフィックスについて厳密な仮定を行っており、非標準のプレフィックスでは適切に機能しません (つまり、テストされていません)。brew doctorコマンドは、これについて警告することさえあります。

Warning: Your Homebrew is not installed to /usr/local
You can install Homebrew anywhere you want, but some brews may only build
correctly if you install in /usr/local. Sorry!

そのため、Homebrew インストールを に移行したいと思います/usr/local。ただし、これが問題を引き起こすと思われるため、単純にmvすべてのファイルを使用するのは嫌いです。Homebrew サイトまたはここで、既存のインストールを新しいプレフィックスに移行する方法についての説明が見つかりませんでした。もちろん、Homebrewをアンインストールしてから再インストールすることもできますが、すべての樽を再構築したくありません。

このような移行を実行するための既存のスクリプトまたは文書化されたプラクティスはありますか?

それとも、リンクされたバイナリの絶対パスがハードコードされているため、これは不可能ですか?

4

4 に答える 4

53

これを行う最新の方法は、homebrew-bundleを使用することです。

brew tap Homebrew/bundle
brew bundle dump # Creates 'Brewfile' in the current directory
# later ...
brew bundle # Installs packages listed in 'Brewfile'
于 2016-09-23T16:09:55.463 に答える
1

または、リンクされたバイナリのハードコーディングされた絶対パスのためにこれは不可能ですか?

それはそう。すべてを最初から再インストールする必要があります。

于 2013-08-30T14:30:36.150 に答える