🐈

【Flutter】build_runnerコマンドはaliasに登録しちゃおう

2023/04/09に公開

Flutterをやっていると必ず使用するのに、長くて面倒なコマンドはなんでしょうか?多くの人はこちらのコマンドかと思います。

flutter pub run build_runner build --delete-conflicting-outputs

そうです。freezedのファイルなどを生成するコマンドです。

毎回記事を検索して貼り付けたり、過去の履歴から探すために下ボタンを押して、コマンドを探していました。
一方でこの面倒なコマンドを見つけても、そこからショートカットみたいに登録方法に直結する記事がないのも気になっていたので、記事にしてみた次第です。

aliasで登録

Linuxのaliasと言うコマンドを使用します。登録にはalais、ミスした時など解除にはunaliasと言うコマンドを使用します。結構簡単なので安心してください。

私の場合はこちらの記事を参照して学びました。
https://atmarkit.itmedia.co.jp/ait/articles/1703/24/news012.html

前提 ターミナルで編集しても消えてしまう

コマンドを使用しますと言いましたが、ちょっと待ってください。普通にターミナルでalias hogehoge="hogehoge hoge"とか打って登録できるのですが、閉じると消えてしまいます。なので設定ファイルにaliasを書いて、永続的にショートカットコマンドを使える様にします。

作業1 設定ファイルを開く

M1Macを使っているので.zshrcを開きます。

作業2 コマンド貼り付け

貼り付けのルールはこちら。コマンド部分に関しては、スペースが開く場合などは" "などが必要な様です。

alias 名前=コマンド

実際に私が貼り付けているコマンドです。普通はもっと短いコマンドで登録すると思いますが、元のコマンドの要素を大事にしたいので、私は長めです。

alias alias_build_runner='flutter pub run build_runner build --delete-conflicting-outputs'

ファイルはこの様になるはずです(記事のために余計な部分消しています)。

保存して設定ファイルを閉じます。

作業3 ターミナルをもう一度開く

ターミナルをもう一度開くと登録されています。試しにaliasと打ってみましょう。
登録されているコマンドの一覧が現れます。

この様に出たらOKです。

your_name@your_pc % alias
alias_build_runner='flutter pub run build_runner build --delete-conflicting-outputs'

これで必要な都度alias_build_runnerと打てば、代わりにflutter pub run build_runner build --delete-conflicting-outputsが実行されます。

一件落着です。

他に登録すべきコマンド

一応Flutterの記事だから、登録しておきたいFlutterコマンドも列挙しておこう!と意気込んでいたのですが、意外と思いつきませんでした。適宜修正して追加しようと思います。

#freezedなどのファイルの変更があるたびに反応し、generateしなおしてくれる。使用はケースバイケースです。
flutter pub run build_runner watch --delete-conflicting-outputs

まとめ

flutter pub run build_runner build --delete-conflicting-outputsを毎回探さなくて良いように、早めの登録をオススメします。

参考資料

https://atmarkit.itmedia.co.jp/ait/articles/1703/24/news012.html

Flutter大学

Discussion