Z.OOL.ネット信託統治領 はてな諸島

こちらは "Z.OOL.ネット信託統治領 はてな諸島" です。

Linuxbrew において、 brew コマンドの起動時に出力されるエラーメッセージへの対応手法

本稿は、技術案件についての速報的な短信投稿です。
昨年の記事の若干古い投稿となっていますことをどうか御了承下さい。


[BGM]: Yukihiro takahashi - Poisson D'avril

本稿について

本稿は、技術的事項についての速報的で簡易な短信についての [Z.OOL.ネット信託統治領 Qrunch 諸島][QRAN]からのクロス投稿です。

本稿は、以下の Qrunch 諸島の投稿から御覧になれます。どうか御了承下さい。

z80oolong.qrunch.io

はじめに

Linuxbrew とは、 Mac OS X 上における、ソースコードの取得及びビルドに基づいたパッケージ管理システムである HomebrewLinux の各ディストリビューション向けに移植したものです。

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
  $

この場合は、 gitLinuxbrew を用いて導入されている場合は、 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
  ...(略)...
  $