CentOS7にCartonを導入する

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

これでようやく依存管理できそう?

参考