Travis CI 使用非 perl 语言安装 perl 模块

Travis CI Install perl module with non-perl language

当语言 设置为 perl 时,如何在 Travis CI 的 linux 和 mac 平台上安装 perl 模块?我正在用 perl 测试脚本编译 C 程序。

如果语言是perl,cpanm可用:

cpanm JSON

否则如果平台是linux:

sudo apt-get install libjson-pp-perl

但是在 mac 上 cpanmapt-get 不可用。 mac 平台具有可用于安装程序的 brew 命令,但我不知道是否需要安装新版本的 perl 而不仅仅是系统 perl 版本的模块。

mac 版本也有可用的 cpan JSON 命令,但它挂起以进行交互式 first-运行 配置。

感谢@simbabque 的评论,我在系统 perl 中安装了 cpanm,然后使用 cpanm 安装了 perl 模块,它工作正常:

curl -L https://cpanmin.us | sudo perl - --sudo App::cpanminus
sudo cpanm JSON

我还没有想出不使用 sudo 的最简单的本地安装方法。

编辑: 无需 sudo,使用 local::lib 设置 $PERL5LIB 路径等:

# Install modules into ~/perl5 using system perl
curl -L https://cpanmin.us | perl - App::cpanminus
~/perl5/bin/cpanm local::lib
~/perl5/bin/cpanm JSON

# Add path to ~/perl5 modules to ~/.bashrc
echo '[ $SHLVL -eq 1 ] && eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)"' >> ~/.bashrc