利用と配布
作成したコマンドラインツールを使う場合、
$ git clone [email protected]:kan/command-perl.git
$ cd command-perl
$ cpanm --installdeps .
$ perl command.pl
自分以外のユーザーにコマンドラインツールを使ってもらう場合、
CPANで公開する
CPANはPerlのモジュール管理・cpan/
コマンドでコマンドラインツール
メリットの多いCPANでの配布ですが、
FatPackerを使って1ファイルにまとめる
App::FatPacker
というライブラリに付属するfatpack
コマンドを使うと、
$ cpanm App::FatPacker
$ fatpack pack cmd.pl > cmd_fat.pl
こうして生成したcmd_
は、curl
コマンドと組み合わせてcurl -L https://
のように、
依存モジュールの数が多かったり、FatPacker
でpack
したあとのファイルサイズはかなり大きくなります。そのためこの手法で配布するのは、cpanm
コマンドApp::cpanminus
)cpanm
コマンド自体の初回インストールをこの手法で行っています。
Dockerfileを配布してDockerコンテナ上で実行する
コマンドラインツールのリポジトリにDockerfile
を含めておくと、Dockerfile
は、
FROM perl:5.24.0
WORKDIR /app
COPY cmd.pl cpanfile lib /app/
RUN cpanm --installdeps .
CMD ./cmd.pl
実際に利用する場合、
$ git clone [email protected]:kan/command-perl.git
$ cd command-perl
$ docker build -t cmd-perl .
$ docker run -it cmd-perl
自分でDockerイメージをビルドする場合、docker pull
とdockerrun
の実行だけで済むようになります。
まとめ
今回は、
さて、
本誌最新号をチェック!
WEB+DB PRESS Vol.130
2022年8月24日発売
B5判/168ページ
定価1,628円
(本体1,480円+税10%)
ISBN978-4-297-13000-8
- 特集1
イミュータブルデータモデルで始める
実践データモデリング
業務の複雑さをシンプルに表現! - 特集2
いまはじめるFlutter
iOS/Android両対応アプリを開発してみよう - 特集3
作って学ぶWeb3
ブロックチェーン、スマートコントラクト、NFT