Linux 为什么赢了';是否将自定义Perl安装到预期目录中?
我按照教程中的说明构建了一个自定义版本的Perl 我最初按照如下方式执行步骤8:Linux 为什么赢了';是否将自定义Perl安装到预期目录中?,linux,perl,installation,centos,Linux,Perl,Installation,Centos,我按照教程中的说明构建了一个自定义版本的Perl 我最初按照如下方式执行步骤8: ./Configure -d -Dprefix=/custom/perl 然后,我做了make,maketest,和makeinstall 然后我决定将Perl改为/opt/Perl,因此我做了makeclean,并重复了这个过程,使用适当的目录执行了步骤8。仍安装到/自定义。然后我完全删除了custom,并在/Configure步骤中使用相应的目录重新安装。仍安装到/自定义 我错过了什么?我希望Perl在/op
./Configure -d -Dprefix=/custom/perl
然后,我做了make
,maketest
,和makeinstall
然后我决定将Perl改为/opt/Perl,因此我做了makeclean
,并重复了这个过程,使用适当的目录执行了步骤8。仍安装到/自定义。然后我完全删除了custom,并在/Configure
步骤中使用相应的目录重新安装。仍安装到/自定义
我错过了什么?我希望Perl在/opt not/custom中使用。根据5.16的
安装文件,“您还可以通过在配置的参数中添加“-Dprefix='/some/dir'
”来指定任何前缀位置。”
因此我怀疑makeclean
不会删除Configure
创建的文件。从一个新的目录而不是一个“清理”的目录中尝试它。或者至少尝试删除config.sh
和Policy.sh
[Upd:有人指出,makedistclean
可以用来做这件事。当然,如果您是从repo而不是tarball安装的话,git clean-dfx
也可以这样做。-d
选项/Configure
会使构建过程为您现有的config.sh
文件提供源代码。-Dprefix=…
选项将覆盖现有config.sh
中的前缀设置,但不幸的是,它不会覆盖可以在config.sh
中根据前缀
的早期设置设置的许多其他选项
除了makeclean
,您还需要rm config.sh
,以便安全地重用perl构建目录
如果要将设置从生成过程复制到另一台计算机,还需要清除Policy.sh
ikegami的意思是删除整个构建目录,并从.zip/tarball;)中提取一个新的构建目录@Goldilock,这就是fresh的意思,尽管我已经补充说我认为需要做的就是删除由Configure
创建的两个文件。看起来我的Configure.sh
中仍然有/custom
的实例。已删除它和Policy.sh并重新启动进程。看起来它在工作。。。我会在一分钟内通知您。我不知道为什么配置的命令行参数不会覆盖以前选择的设置,但在构建非线程构建之后,我在尝试构建线程构建(-Dusethreads
)时遇到了类似的问题。如果希望有多个Perl版本,那么您可能需要签出优秀的文件。/opt/Perl/bin/Perl-e'print“hello world\n”;'你好,那会有用的makedistclean
确实删除了config.sh
和Policy.sh
。