依存しているモジュールがすべてCPANにあればvendor/cache
がなくてもインストールが成功するらしい。ただし将来的には成功しなくなる可能性があるので、この挙動に依存するべきではない。
cartonの内部では次のような処理が行われている。
-
Carton::CLI#cmd_install:
--cached
が付いていたら$builder->mirror
を設定する。 -
Carton::Builder#install: cpanmを呼び出す。
$builder->effective_mirrors
をミラーとして渡す。 -
Carton::Builder#effective_mirrors: 常に http://cpan.metacpan.org/ と http://backpan.perl.org/ が追加される。
- 関数内にはというコメントが付いている。今後、
# push default CPAN mirror always, as a fallback # TODO don't pass fallback if --cached is set?
--cached
が付いているときにはミラーを追加しないように変更されるかもしれない。
- 関数内には