Tatsuhiko Miyagawa's blog — cpanm towards 2.0 より。
※注意:
- 正確に訳してません。自分がわかりやすいように書いてます。
- 興味のある部分以外は手抜きしてます。
- 背景
- 今の cpanm 単なるモジュールインストーラの割に option, 機能多すぎ
- ベース部分には要らないよね
- fatpack で配布してるけど功罪ある
- 功: 間違って依存コンポーネントのバージョン上がっちゃうことはない
- 罪: バージョンアップむずい
- 今の cpanm 単なるモジュールインストーラの割に option, 機能多すぎ
- そこで 2.0 ではこうしようと思う
- Base Installer
- fatpack 版も配布するよ
- perl 5.8.1 以降で、依存モジュールなしで動くようにするよ
- モジュール化して拡張可能に
- Base から次の機能は除くつもり
--info
command--look
command-L local::lib
self-contained support- MetaCPAN query support
--dev
search--mirror-index , --cascade-search
(basically added as an interface for Carton)- Changing cpanmetadb endpoint
--uninstall
command- install from git support
- features support
--scandeps
command--format
option--save-dists
option (although still useful for caching)--skip-installed, --skip-satisfied
(they can just be default)--no-man-pages
- とはいえ機能を消すわけじゃない。
- 次世代の cpanm クライアントではビルトインでサポートする
- でも base installer からは消すよということ
- Base Installer と次世代クライアントは cpanm-base と cpanm-2.0 って名前になるかも。まだ決めてない。
- これらの機能は Plugin 形式で実装するよ
- perlbrew/plenv で今は独自のパスに配置してるけど、ふつうに perl の実行パスに配置するかも
- Base Installer