crates.ioでRust製CLIを公開したの続きです。
Homebrewで公開までやったので手順を忘備録として残しておきます。
とはいったものの、今回も手順をブログに公開してくださっている方がいたのでまねただけです。感謝しきりです。
自分のリポジトリは以下です。
まず参考サイトの手順通りにやったのですが、HomebrewでMacOSにインストールしてもcannot execute binary file
と出て実行できませんでした。
というのも自分は今までUbuntu上で開発をしていたので、単純にcargo build --release
とするとUbuntu用のバイナリが生成されてしまっていました。
そこでmacOS用にcargo build --release --target x86_64-apple-darwin
と実行したのですが、以下のようなエラーが出てビルドできませんでした。
error: linking with `cc` failed: exit status: 1
|
= note: LC_ALL="C" PATH="/home/..."
(中略)
= note: cc: error: x86_64: No such file or directory
cc: error: unrecognized command line option '-arch'
少し調べてみると、-arch
オプションはXcode専用のものなんだそうです(参考)
The -arch option is part of the Apple extensions to gcc. You need to use the gcc supplied by Apple's Developer Tools, Xcode.
じゃあUbuntuにXcode入れればいいじゃん!と思いさらに調べてみると、実は規約的にNGでした。
THIS SOFTWARE IS AUTHORIZED ONLY FOR EXECUTION ON AN APPLE-BRANDED PRODUCT RUNNING MACOS. ANY OTHER DOWNLOAD OR USE OF THIS SOFTWARE IS NOT AUTHORIZED AND IS IN BREACH OF THIS AGREEMENT. (Xcode and Apple SDKs Agreementより引用)
最終的にUbuntu上でmacOS用のバイナリを生成するのは諦め、おとなしくMacBook Airでビルドしました。
Homebrewというと大御所感がありますが、Github releaseとbrew tapを利用すればこんなあっさり公開できるんだと驚きました。
また普段何気なく使っていたbrew tapがどういうものなのかを知る機会にもなってよかったです。
thueコマンドはあまり機能を追加するつもりはないですが、ちょっとずつメンテできたらいいなぁと思います。
文中で上げたもの以外を記載しておきます。