前回の
継続的な更新
モジュールの更新は一度やったら終わりではなく,
Node.
以降では,
update-cpanfileでcpanfileを更新する
まずはupdate-cpanfileをインストールします。執筆時点ではバージョン1.
$ cpanm App::UpdateCpanfile
依存関係を固定して扱いやすくする
cpanfileにバージョン指定を書いていない場合,carton install
するタイミングで最新のバージョンがインストールされるため,
pin
コマンドは,update-cpanfile pin
を実行すると,
依存モジュールの固定
$ update-cpanfile pin
Pinned 3 modules
- JSON::XS 3.0
- List::MoreUtils 0.419
- Test::More 0.98
cpanfileを確認すると,==
を使った指定となり,DateTime
はもともと1.
依存モジュールのバージョンが固定された
requires 'List::MoreUtils', '== 0.419';
requires 'DateTime', '== 1.50';
requires 'JSON::XS', '== 3.0';
on test => sub {
requires 'Test::More', '== 0.98';
};
依存関係を更新する
update
コマンドは,update-cpanfile update
を実行すると,
依存モジュールの最新化
$ update-cpanfile update
Updated 4 modules
- DateTime 1.52
- JSON::XS 4.02
- List::MoreUtils 0.428
- Test::More 1.302181
cpanfileを確認すると,
依存モジュールのバージョンが更新された
requires 'List::MoreUtils', '== 0.428';
requires 'DateTime', '== 1.52';
requires 'JSON::XS', '== 4.02';
on test => sub {
requires 'Test::More', '== 1.302181';
};
この時点では要求を新しくしただけで,carton install
を実行すると,