LoginSignup
8
8

More than 5 years have passed since last update.

homebrewでtapに含まれるパッケージのバージョン変更をする

Posted at

パッケージのバージョン変更は、本来、以下の手順で行う。

$ brew versions nkf
Warning: brew-versions is unsupported and may be removed soon.
Please use the homebrew-versions tap instead:
  https://github.com/Homebrew/homebrew-versions
2.1.3    git checkout b0ebf92 Library/Formula/nkf.rb
2.1.2    git checkout 9ad1b87 Library/Formula/nkf.rb
2.1.0    git checkout d0efd9e Library/Formula/nkf.rb
$ cd `brew —prefix`
$ git checkout b0ebf92 Library/Formula/nkf.rb
$ brew upgrade nkf

上記では、まずnkfのバージョンを確認し、その中で、2.1.3を使うことにする。その後、brew —prefixで出力される管理ディレクトリに移動し、表示されたチェックアウトコマンドを実行し、最後にパッケージのアップグレードを行う。

しかし、brew tapで導入されたパッケージはbrew —prefixに移動しても、バージョンを更新することができない。

$ brew versions opencv
Please use the homebrew-versions tap instead:
  https://github.com/Homebrew/homebrew-versions
2.4.9    git checkout 14b5b58 opencv.rb
2.4.8.2  git checkout 66d06fd opencv.rb
2.4.7.1  git checkout ebc5b15 opencv.rb
2.4.6.1  git checkout 9c5be73 opencv.rb
2.4.5    git checkout ae74fe9 opencv.rb
2.4.4a   git checkout 3efa797 opencv.rb
2.4.4    git checkout d85d011 opencv.rb
2.4.3    git checkout 8cb3f45 opencv.rb
2.4.2    git checkout b64b319 opencv.rb
2.4.1    git checkout 3d32cf1 opencv.rb
2.4.0    git checkout 2a8c46b opencv.rb
2.3.1a   git checkout cdaf83d opencv.rb
2.2      git checkout 032047f opencv.rb
2.1.1-pre git checkout 2438f42 opencv.rb
$ cd `brew —prefix`
$ git checkout 14b5b58 opencv.rb
error: pathspec '66d06fd' did not match any file(s) known to git.
error: pathspec 'opencv.rb' did not match any file(s) known to git.
$ git ls-files | grep opencv
$ 

実際にそれを試してみたのが、上記のコマンドの例である。コマンドでは、homebrew/scienceに含まれるopencvパッケージのバージョンを変更しようとしているが、gitの管理対象外だとエラーが出力されている。

色々と調べてみると、そもそもtapのリポジトリは、prefixのLibrary/Tapsの下で別途管理されているらしい。

そこで、以下のようにしたら、望み通りアップグレードすることができた。

$ cd `brew —prefix`
$ cd Library/Taps/homebrew/homebrew-science
$ git checkout 66d06fd opencv.rb
$ git upgrade opencv

この内容、あまり書いていないので、記事にしてみた。困っている人がいたら、活用してください。

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8