【Mac】Cloud Native Buildpacksのpackコマンドをインストールする方法


1. Cloud Native Buildpacksとは

超ざっくり言うと、
「ソースコードがあれば、packコマンド1つで超簡単にコンテナイメージが作れるよ!
コンテナに触れたことがある人ならばイメージしやすいかも。

Dockerfileなどのめんどくさい準備がいらないですし、
コンテナイメージのサイズが大きくなりすぎて使い物にならない!
ということもなくなるのです

「もっと気になる!」という方は以下のサイトを見てみるといいかも!
イメージがつきやすく、わかりやすいです。(一番は公式サイトの説明見るのがいいんですけどね笑。英語が苦手な方は以下のサイトだけでも十分理解できると思います)

2. packコマンドのインストール

Macではbrewコマンドを使ってインストールすることができます。
【Cloud Native Buildpacks - 公式サイト】にあるように、たった1つのコマンドを実行するだけでインストールできます!

あらかじめ、brewコマンドのインストールが必要です! brewコマンドのインストールコマンド: https://brew.sh/

Terminal
$ brew install buildpacks/tap/pack

(省略)
==> Installing pack from buildpacks/tap
==> Downloading https://github.com/buildpacks/pack/releases/download/v0.19.0/pack-v0.19.0-macos.tgz
Already downloaded: /Users/user_name/Library/Caches/Homebrew/downloads/22d2f840ae07d8fb8ca1088863e9d6b1240fea7c4e18b6f5bcd961fd12aacc0b--pack-v0.19.0-macos.tgz
🍺  /usr/local/Cellar/pack/0.19.0: X files, 19.5MB, built in 3 seconds

上記のような出力結果が表示されればインストール完了!(早い・簡単!)

エラーが出た場合3. (2で失敗した人だけ) エラー対処 を参照してください。

以下のコマンドでpackコマンドがインストール済みか確認して見てください。
バージョンが表示されていればインストール完了済みです。
(2021/07/17時点:私の環境では0.19.0が表示されています。)

Terminal
$ pack --version
0.19.0+git-360dbae.build-2550

【Finish!!】 バージョンが確認できた人は、以上で終了です! お疲れ様でした!

3. (2で失敗した人だけ) エラー対処

私の環境では以下のエラーが出てしまいました。
同じエラーが表示された人がいれば、参考にしてください。

3.1. エラーその1

このようなエラー結果が出力されました。

(省略)
Error: An exception occurred within a child process:
CompilerSelectionError: buildpack/tap/pack cannot be built with any available compilers.
Install GNU's GCC:
brew install gcc

私 「なんだ!gccインストールすればいいだけじゃん!」
ということで、エラー内容にもあるgccインストールコマンドを早速実行です

Terminal
$ brew install gcc
(省略)
==> Downloading https://ftp.gnu.org/gnu/gcc/gcc-11.1.0/gcc-11.1.0.tar.xz
Already downloaded: /Users/noritaka/Library/Caches/Homebrew/downloads/104cdaaeb30152af30fd8af2d3da5eb879ba1191832e8225d91f3538e4002fb6--gcc-11.1.0.tar.xz
==> ../configure --prefix=/usr/local/Cellar/gcc/11.1.0_1 --libdir=/usr/local/Cellar/gcc/11.1.0_1/lib/gcc/11 --disable-nls --enable-checking=release --enable-languages=c,c++,objc,obj-c++,fortran,d --progra
==> make BOOT_LDFLAGS=-Wl,-headerpad_max_install_names
==> make install
🍺  /usr/local/Cellar/gcc/11.1.0_1: 2,163 files, 449MB, built in 42 minutes 36 seconds

エラーが出た場合3.2. エラーその2 を参照してください。

gccインストール後、以下のコマンドを実行して確認します。
バージョンが表示されているか確認してください。

Terminal
$ gcc -v
(省略)
Apple clang version 12.0.5 (clang-1205.0.22.11)
Target: x86_64-apple-darwin20.5.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

gccのバージョンが表示されたら完了です。 手順2に戻ってください。 【Next: 2. packコマンドのインストール】

3.2. エラーその2

以下のエラー結果が出力されました。

(省略)
You can try to install from source with:
brew install --build-from-source gcc
Please note building from source is unsupported. You will encounter build
failures with some formulae. If you experience any issues please create pull
requests instead of asking for help on Homebrew's GitHub, Twitter or any other
official channels.

私 「はいはい、オプションつければいいのね。」
ということで、オプションをつけて再度 実行です (数分程かかります)

Terminal
$ brew install --build-from-source gcc
(省略)
==> ../configure --prefix=/usr/local/Cellar/gcc/11.1.0_1 --libdir=/usr/local/Cellar/gcc/11.1.0_1/lib/gcc/11 --disable-nls --enable-checking=release --enable-languages=c,c++,objc,obj-c++,fortran,d --progra
==> make BOOT_LDFLAGS=-Wl,-headerpad_max_install_names
==> make install
🍺  /usr/local/Cellar/gcc/11.1.0_1: 2,163 files, 449MB, built in 42 minutes 36 seconds

エラーが出た場合3.3. エラーその3 を参照してください。

上記のような結果が表示されたらgccのインストール完了です。 手順2に戻ってください。 【Next: 2. packコマンドのインストール】

3.3. エラーその3

このようなエラー結果が出力されました。

Error: The following flag:
--build-from-source
requires building tools, but none are installed.
Install the Command Line Tools:
xcode-select --install
Alternatively, remove the flag to attempt bottle installation.

私 「またエラーでちった
Apple Command Line Toolsをインストールする必要がある
gccをインストールしたければ、"xcode-select --install"を実行せよとのこと。
私 「ならば実行しよう」

以下のコマンドを実行時、ポップアップが出現する。
同意する → インストール の順でボタンをクリック
でCommand Line Toolsがインストールされます。(数分~数十分程度かかる)

Terminal
$ xcode-select --install
xcode-select: note: install requested for command line developer tools

↓ダウンロードの様子(実際は15分くらいでダウンロード完了した)↓

Command Line Toolsダウンロード完了時 手順3.2. に戻ってください。 【Next: 3.2. エラーその2】