CPAN 安装到临时目录?
CPAN install into temp directory?
我正在尝试将 CPAN 中的很多模块安装到临时目录中。
这纯粹是为了将其中的一些放入一个目录中,然后我可以从中创建一个自定义 RPM。 rpm 稍后将作为自定义 perl 安装之上的 bootstrap 类型的东西用于新安装。他们不会 运行 从这个临时位置。
在 CPAN 中我已经尝试过
o conf mbuildpl_arg "--install_base /tmp/perl"
o conf makepl_arg "PREFIX=/tmp/perl"
但这似乎是将它们安装到 /root/.cpan/build/somename/tmp/perl(其中 'somename' 每次都不同)或通常的位置。我希望将它们全部捕获到一个临时的 buildroot 类型文件夹中,以便稍后我可以将它们转入正确的文件夹中。
有什么方法可以做到这一点,还是我做的事情不是一个好主意?
我已经研究过 fpm 和 cpan2rpm,但找不到将大量 Perl 模块整合到一个 RPM 中的方法,很高兴能就如何从大量模块转变成一个自定义 RPM 提出更好的想法。
不,这会将它们安装在 /tmp/perl
中(除非您使用环境变量覆盖 cpan
中的参数)。它们未安装在 ~/.cpan/build
中。这是模块在安装(通过 make install
或 Build install
)之前构建(通过 make
或 Build
)的地方。您可以随时擦除该目录。
顺便说一下,您是在告诉 ExtUtils::MakeMaker 和 Module::Build 使用两种不同的约定。太糟糕了。
o conf mbuildpl_arg "--install_base /tmp/perl"
o conf makepl_arg "PREFIX=/tmp/perl"
应该是
o conf mbuildpl_arg "--install_base /tmp/perl"
o conf makepl_arg "INSTALL_BASE=/tmp/perl"
或
o conf mbuildpl_arg "--prefix /tmp/perl"
o conf makepl_arg "PREFIX=/tmp/perl"
就个人而言,当我在使用 Perl 的本地构建之前使用本地模块时,我使用了
o conf mbuildpl_arg "--prefix /tmp/perl --lib /tmp/perl/lib/perl5"
o conf makepl_arg "PREFIX=/tmp/perl LIB=/tmp/perl/lib/perl5"
我不喜欢 INSTALL_BASE
,因为它很难顺利升级您的 perl
。
我正在尝试将 CPAN 中的很多模块安装到临时目录中。
这纯粹是为了将其中的一些放入一个目录中,然后我可以从中创建一个自定义 RPM。 rpm 稍后将作为自定义 perl 安装之上的 bootstrap 类型的东西用于新安装。他们不会 运行 从这个临时位置。
在 CPAN 中我已经尝试过
o conf mbuildpl_arg "--install_base /tmp/perl"
o conf makepl_arg "PREFIX=/tmp/perl"
但这似乎是将它们安装到 /root/.cpan/build/somename/tmp/perl(其中 'somename' 每次都不同)或通常的位置。我希望将它们全部捕获到一个临时的 buildroot 类型文件夹中,以便稍后我可以将它们转入正确的文件夹中。
有什么方法可以做到这一点,还是我做的事情不是一个好主意?
我已经研究过 fpm 和 cpan2rpm,但找不到将大量 Perl 模块整合到一个 RPM 中的方法,很高兴能就如何从大量模块转变成一个自定义 RPM 提出更好的想法。
不,这会将它们安装在 /tmp/perl
中(除非您使用环境变量覆盖 cpan
中的参数)。它们未安装在 ~/.cpan/build
中。这是模块在安装(通过 make install
或 Build install
)之前构建(通过 make
或 Build
)的地方。您可以随时擦除该目录。
顺便说一下,您是在告诉 ExtUtils::MakeMaker 和 Module::Build 使用两种不同的约定。太糟糕了。
o conf mbuildpl_arg "--install_base /tmp/perl"
o conf makepl_arg "PREFIX=/tmp/perl"
应该是
o conf mbuildpl_arg "--install_base /tmp/perl"
o conf makepl_arg "INSTALL_BASE=/tmp/perl"
或
o conf mbuildpl_arg "--prefix /tmp/perl"
o conf makepl_arg "PREFIX=/tmp/perl"
就个人而言,当我在使用 Perl 的本地构建之前使用本地模块时,我使用了
o conf mbuildpl_arg "--prefix /tmp/perl --lib /tmp/perl/lib/perl5"
o conf makepl_arg "PREFIX=/tmp/perl LIB=/tmp/perl/lib/perl5"
我不喜欢 INSTALL_BASE
,因为它很难顺利升级您的 perl
。