CentOS7 (7.3) にCartonをインストールするところでハマったのでメモを残す。
GitHub - perl-carton/carton: Bundler or pip freeze for Perl
cpanmコマンドまではインストール済み。Cartonをインストールするとcartonコマンドを使えるようになる。
CentOS7はvagrantのboxから起動したもの。
インストール
Digest::MD5が入っていないとインストール途中でコケたので、先に入れておく。
$ cpanm --sudo Digest::MD5 $ cpanm --sudo Carton
ハマった点
Cartonが依存しているPath::Tinyのテストがfailしてインストールに失敗していた。依存しているDigest::MD5が入ってなかったらしい。
t/00-report-prereqs.t ............. ok t/basename.t ...................... ok t/basic.t ......................... ok t/children.t ...................... ok t/chmod.t ......................... ok Can't locate Digest/MD5.pm in @INC (@INC contains: t/lib /home/vagrant/.cpanm/work/1494991121.11260/Path-Tiny-0.104/blib/lib /home/vagrant/.cpanm/work/1494991121.11260/Path-Tiny-0.104/blib/arch /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/share/perl5/Digest.pm line 41. # Tests were run but no plan was declared and done_testing() was not seen. # Looks like your test exited with 2 just after 4. t/digest.t ........................ Dubious, test returned 2 (wstat 512, 0x200) All 4 subtests passed t/exception.t ..................... ok t/exports.t ....................... ok t/filesystem.t .................... ok t/input_output.t .................. ok t/input_output_no_PU_UU.t ......... ok t/input_output_no_UU.t ............ ok t/locking.t ....................... ok t/mkpath.t ........................ ok t/mutable_tree_while_iterating.t .. ok t/normalize.t ..................... ok t/overloading.t ................... ok t/parent.t ........................ ok t/recurse.t ....................... ok t/rel-abs.t ....................... ok t/subsumes.t ...................... ok t/symlinks.t ...................... ok t/temp.t .......................... ok t/visit.t ......................... ok t/zz-atomic.t ..................... skipped: Test::MockRandom required for atomicity tests t/zzz-spec.t ...................... ok Test Summary Report ------------------- t/digest.t (Wstat: 512 Tests: 4 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output Files=26, Tests=1696, 2 wallclock secs ( 0.16 usr 0.02 sys + 1.94 cusr 0.21 csys = 2.33 CPU) Result: FAIL Failed 1/26 test programs. 0/1696 subtests failed. make: *** [test_dynamic] Error 255 -> FAIL Installing Path::Tiny failed. See /home/vagrant/.cpanm/work/1494991121.11260/build.log for details. Retry with --force to force install it. -> FAIL Installing the dependencies failed: Module 'Path::Tiny' is not installed -> FAIL Bailing out the installation for Carton-v1.0.28. 14 distributions installed
これでようやく依存管理できそう?