English version is here
インストール
簡単にインストールする
curl -fsSL https://sh.poac.pm | bash
お使いのPCのOSがmacOSの時、インストーラは Homebrew を使用します
手動でインストールする (ビルド)
poac はビルドするために以下のツールとパッケージが必要です:
$ git clone https://github.com/poacpm/poac.git
$ cd poac
$ mkdir build && cd $_
$ cmake ..
$ make
$ make install
サポートしているOS
- Linux
- x86_64-unknown-linux-gnu
- mips-unknown-linux-gnu (next release)
- powerpc-unknown-linux-gnu (next release)
- powerpc64-unknown-linux-gnu (next release)
- powerpc64le-unknown-linux-gnu (next release)
- macOS
- macOS Sierra
- macOS High Sierra
- macOS Mojave
- Windows
- Visual Studio 2017 x86
- Visual Studio 2017 x64
- MinGW-w64 (next release)
- Cygwin (next release)
- Cygwin64 (next release)
アプリケーションの配布について
Linux
Linuxでは、それぞれのアーキテクチャ向けにStatic Linkされたビルド済みバイナリを、GitHub Releasesで配布しています。
macOS
macOS向けでは、Homebrew Tapsを利用して配布しています。
そのため、brew install poacpm/tap/poac
コマンドでもインストール可能です。
Homebrew Tapsを未だに利用している理由
Poacは、C++17の標準ライブラリであるvariant
に依存しています。
ところが、macOS High Sierra以前では、variant
ライブラリの実装があるにも拘らず、std::visit
が実装されていません。
実際にコンパイルしようとすると、以下のエラーが表示されます。
Call to unavailable function 'visit': introduced in macOS 10.14
そのため、PoacはHomebrewのパッケージである、llvm@7に依存し、HomebrewのClangに迂回させることでPoacをビルドしています。
macOS Mojave以降はこの作業が必要無いため、Apple Clangを用いてビルドしています。
本家にPull Requestを出しましたが、llvmに依存するパッケージは本家に入れることができませんでした。 そのため、Homebrew Tapsを利用しています。
HomebrewがmacOS High Sierra以前をサポート対象外にするタイミングで本家にPull Requestを出す予定です。 (その前にHomebrewにPoacと同じ名前の別のパッケージが取り込まれた場合、Tapsを利用し続けることになります。)
本家に取り込まれた場合
macOS 以外 のOS向けには、ビルド済みバイナリを配布しています。 macOS向けには、Homebrewに完全に依存しています。 そのため、Tapsを利用している現状では、インストール毎にビルドが行われます。
本家に取り込まれた時点で、Bottlesが利用できるようになるため、インストール毎にビルドが行われることはありません。 LinuxやWindowsでの配布と違い、本家に取り込まれたかどうかに関わらず、GitHub ReleasesでmacOS向けのビルド済みバイナリを配布する予定はありません。
HomebrewでインストールされるPoacは、全ての依存ライブラリにDynamic Linkします。
本家に取り込まれた場合、brew install poac
コマンドでインストールできるようになります。
Windows
Windowsでは、OpenSSLのみDynamic Linkしたバイナリを配布します。 そのため、OpenSSLのdllのみ手動でインストールする必要があります。 現在、sh.poac.pmのスクリプトを使用してインストールする方法はサポートしていません。 GitHub Releasesから、直接exeファイルをダウンロードしてください。