はじめに
Linuxbrew とは、 Mac OS X 上における、ソースコードの取得及びビルドに基づいたパッケージ管理システムである Homebrew を Linux の各ディストリビューション向けに移植したものです。
Linuxbrew の使用により、 Linux の各ディストリビューションにおいて、ソースコードからのビルドに基づいたソフトウェアの導入を単純かつ容易に行うことが出来ます。
ここで、 Linuxbrew を導入した端末において、 brew ls
コマンド等、各種 brew
コマンドを起動すると、起動直後に以下のエラーメッセージを出力する場合があります。
$ brew ls --full-name
/home/linuxbrew/.linuxbrew/Library/Homebrew/brew.sh: line 61: printf: g8858448: invalid number
/home/linuxbrew/.linuxbrew/Library/Homebrew/brew.sh: line 61: printf: dirty: invalid number
...(以下略)...
これは、 brew
コマンドが git
コマンドのバージョンを検出する過程において、 brew
コマンドが Github 上の最新の HEAD 版の git
を使用している場合にバージョン検出に失敗することが原因であると考えられます。
このような場合は、 Linuxbrew を導入している端末の git
を安定版のバージョンに導入し直すことで上記の問題が解決します。
安定版の git
を導入する
まず最初に、以下のように git
コマンドに --version
を付与して実行します。もし、以下のように git
のバージョン番号の末尾に dirty
の文字が表示されるならば、 Linuxbrew を導入している端末には、Github 上の最新の HEAD 版の git
が導入されています。
$ git --version
git version 2.19.1.272.gf84b9b0.dirty
$
この場合は、 git
が Linuxbrew を用いて導入されている場合は、 brew uninstall
コマンドによって HEAD 版の git
を削除して、安定版の git
を導入し直します。
$ brew uninstall git
...(略)...
$ brew install -dv git
...(略)...
$
以上の安定版の git
の導入の後、以下のようにして再度 git
のバージョン番号を確認します。
$ git --version
git version 2.19.0
$
以上の通りに、安定版の git
が導入された事を確認した後は、最後に、 brew
コマンドを起動して、エラーメッセージが表示されないことを確認します。
$ brew ls --full-name
...(略)...
$