linux - 如何使用 ExtUtils::MakeMaker 在自定义目录中安装数据

标签 linux perl makefile

我需要在 /usr/bin 中安装我的主脚本(作为可执行文件)(取决于 INSTALL_BASE)。该部分已完成。

下一个是安装到目录/usr/share/project_name/data options.txt,这个对我来说很难,看我的代码:

list 文件:

data/options.txt
script/joel-perl
Makefile.PL

生成文件.PL

use ExtUtils::MakeMaker;

WriteMakefile (
    NAME => 'joelperl',
    VERSION_FROM => 'script/joel-perl',
     PREREQ_PM => {
        'Switch' => 0
     },
    EXE_FILES => ['script/joel-perl'],
    PM => {
        'data/options.txt' => '$(INSTALL_BASE)/share/project_name/data'
    }
);

运行时:

perl Makefile.PL INSTALL_BASE="/usr"
make

我收到“错误:无法创建‘/usr/share/project_name’”,所以我的问题是:

如何将文件添加/复制到特定位置,例如我的情况?

最佳答案

参见 File::ShareDir::Install模块:

use ExtUtils::MakeMaker;
use File::ShareDir::Install;

install_share 'data';

WriteMakefile(...);

package MY;
use File::ShareDir::Install qw(postamble);

关于linux - 如何使用 ExtUtils::MakeMaker 在自定义目录中安装数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27653870/

相关文章:

regex - Perl:从当前位置替换模式直到行尾

c++ - 使用 qmake 查找编译器供应商/版本

c++ - Automake Yacc 输出文件名困境

linux - 执行 ioctl 时关闭文件描述符

regex - 如果我不知道确切的文件路径,Perl 如何检测文件?

MySQL 和 Perl 驱动程序问题 - DBD::mysql: load_file: 找不到指定的模块

Image::Magick (perlmagick) 调整宽高比大小和质量问题(与转换命令行实用程序不同)

python - 使: f2py: No such file or directory

linux命令行: du --- how to make it show only total for each directories

c++ - 在大型 C/C++ 项目的编译时使用 GNU m4