Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 为什么赢了';是否将自定义Perl安装到预期目录中?_Linux_Perl_Installation_Centos - Fatal编程技术网

Linux 为什么赢了';是否将自定义Perl安装到预期目录中?

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

我按照教程中的说明构建了一个自定义版本的Perl

我最初按照如下方式执行步骤8:

./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