我正在尝试在我们的服务器上安装 BugZilla。问题是 BugZilla 的 perl 脚本将路径定义为/usr/bin/perl
,而我的 perl 安装位于/usr/local/bin/perl
。
我在安装其他应用程序时也遇到了这个问题,我不得不手动编辑解释器路径。
您如何处理这种情况?
编辑:我刚刚注意到我们在服务器上有两个 perl 副本,一个在标准位置,一个在 /usr/local/bin/perl,但which perl
返回前一个路径。
顺便说一句,这是我运行 bugzilla 的 perl 脚本时收到的错误
bash: ./checksetup.pl: /usr/bin/perl: bad interpreter: Permission denied
答案1
答案2
我们在我的环境中这样做:我们将系统 perl 留在 /usr/bin/perl 中,并在 /usr/local/bin/perl 中安装我们自己的解释器;这使我们能够保留可靠的 perl,我们知道操作系统更新不会消失。
我认为解决这个问题的最简单方法是完全避开 shebang 行,只需使用你真正想要执行它们的 perl 解释器来调用这些脚本:
/usr/local/bin/perl /path/to/someBugzillaScript.pl
这使您可以控制执行环境,而无需进行系统级更改来适应 Bugzilla 包。