rcmdnk's blog
Last update

鍵の置き場所に♪キープット【Key Put】メープル

ちょっとHomebrewのアップデートによって問題が起こる様になったため、 Brewfileのデフォルト置き場を変更しました。

これまでのものだと不具合が出るので Brew-fileをアップデートし、Brewfile置き場の更新もお願いします。

Homebrewが/usr/local/以下のユーザーの変更をキープしなくなった

これまでBrewfileはデフォルトで

/usr/local/Library/Brewfile

に置くようにしていました。 /usr/local/は[Homebrewのレポジトリ]((https://github.com/Homebrew/homebrew) をチェックアウトしたものになっています。

brew updateではこの/usr/localgit pullするような事を行います。

その際、ユーザーがファイルをいじってたりしてコンフリクトが起こったりすると アップデートが失敗してしまうので、変更を一時的にstashしておいてアップデートを行う、 みたいな作業を行っています。

この辺、ちょっと前にstash/pop周りが結構変更されています。

Do a reset to `origin/master` and then stash but don't pop the stash after running update

とあるので、これまでは変更があってもアップデート後にpopしていたものを 今はそのまま戻さずにmasterの状態をキープするようになった模様。

従ってユーザーが何か変更を行っても brew updateで全部元に戻る、と。 これはデベロッパーには面倒だけどGitをよく理解してないユーザーには良いだろう、 ということだそうです。まあ分からないではないですが。

そんなわけで、brew updateをすると/usr/local/Library/Brewfileは消え、 また、Gitで管理していると/usr/local/Library/rcmdnk_Brewfileみたいな ディレクトリにBrewfileのレポジトリをチェックアウトしますが、これも

$ brew update
Ignoring path Library/rcmdnk_Brewfile/
To restore the stashed changes to /usr/local run:
  `cd /usr/local && git stash pop`
  Already up-to-date.

の様にbrew update時にwarningが出るようになりました。

ただし、ここにある様にgit stash popをしても Brewfileは元に戻りませんでした。(gitを理解してない。。。?)

いずれにしろ、Brewfileの管理場所として この場所を使うのは不具合が多いので別の場所にします。

Brew-fileでの設定変更

追記: 2017/09/27

さらに変更して~/.config/brewfile/Brewfileにしています。

~/.brewfile/Brewfileだけがある場合は引き続きそれを使えます。

追記ここまで

Brew-fileでのBrewfileの新しいデフォルト置き場は

~/.brewfile/Brewfile

になります。 また、Gitのレポジトリを使うような場合は、レポジトリは

~/.brewfile/rcmdnk_Brewfile

の様に、Brewfileと同じ場所にチェックアウトされます。

これはHOMEBREW_BREWFILE値を変更した場合も同様で、 常にBrewfileのあるディレクトリにチェックアウトするようにしました。

これまでのBrewfileが消えてしまった、等の不具合もあるかと思いますが、 基本的にBrew-fileでは、ファイルを用意して初期導入、というものではなくて、 現在のMacの状況を常に書き出しておく、と言う感じなので、 改めてbrew file initしてもらえればそれ程問題ない、と思っています。

/usr/local/Libraryに置くとHomebrewのレポジトリで untrackなものとなってキモチワルイからそのうち変更したいな、 と思ってたので、調度良い機会、ということで。

Sponsored Links
Sponsored Links

« Firefox 43.0リリース: LastPass等の一部のアドオンが一旦使えなくなる ツイートボタンで廃止されたブログのツイート数を表示させる »

}