uuidをたくさん生成したかった
何かとたくさん必要になるuuidを生成するスクリプト。
#!/bin/bash
function gen_uuids() {
for i in $(seq 1 $1) ; do
uuidgen | tr "[:upper:]" "[:lower:]"
done
return 0
}
if [[ "$1" =~ ^[0-9]+$ ]]; then
gen_uuids $1
elif [ "$1" = "" ]; then
gen_uuids 1
else
echo 'Please input number!!!'
fi
homebrewで配布
homebrewで公開する方法はよくあるので、詰まった部分のメモ。
GitHubでリポジトリ作成(homebrew-〇〇という名前で作成)、リリース/タグ作成まで完了させる。
brew create
GitHubのリリースで作成したtar.gzファイルを指定して
brew create https://github.com/bebeken/homebrew-genuuids/archive/v1.0.tar.gz
を実行すると、エディタが起動して、Formulaファイルが作成される。
↑の場合は、homebrew-genuuids.rb
が作成された。
パスは、/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/
でした。
公式に取り込まれたい場合は、ここでブランチを切ってPRする?みたい。
そうでない場合は、ここで作成されたhomebrew-genuuids.rb
を自分のリポジトリにcommitしてpushする。
brew tap / brew install
GitHubのリポジトリをhomebrewに追加する
brew tap bebeken/genuuids
installする
brew install genuuids
ここのタイミングでいろいろ詰まった
installの指定が思った通りにならない
brew create
で作成されたFormulaファイルhomebrew-genuuids.rb
を、そのまま使ってしまうとbrew install bebeken/genuuids/homebrew-genuuids
と指定しないとinstallできなかった。
brew install genuuids
とシンプルなinstallにしたい場合は、ファイル名をgenuuids.rb
にする。
また、Formulaファイルのclass名もHomebrewGenuuids
からGenuuids
にした方が良さそう。
class HomebrewGenuuids < Formula
desc ""
homepage ""
# ~~省略~~
class Genuuids < Formula
desc ""
homepage ""
# ~~省略~~
エラーメッセージEmpty installation
作成されたFormulaファイルを適当にいじっていたら、brew install
時にエラーが発生した。
原因は、installの項目を消してしまっていたことにあった。
↓ソースコードを読むと何かしらは書かないといけないみたいでした
https://naoty.hatenablog.com/entry/2017/02/20/223011
class Genuuids < Formula
# ~~省略~~
def install
bin.install "genuuids"
end
genuuids
install
$ brew tap bebeken/genuuids
$ brew install genuuids
how to use
$ genuuids 10