【发布时间】:2015-05-21 20:01:29
【问题描述】:
我今天在 Mac OS X 10.9.5 上安装了 ActivePerl 5.20.2
检查终端中 perl 的版本 (perl -v) 我看到 5.20.2
所以一切似乎都很好。但..
当我启动我的 CGI 脚本时,脚本在 perl 内置(5.16)下运行(如果使用#!/usr/bin/perl)。
如果我使用#!/usr/local/ActivePerl5.20.2/bin/perl,那么它在所需的 5.20.2 下运行。
问题是:是否有可能将在我的脚本中使用的目录从 #!/usr/local/ActivePerl5.20.2/bin/perl 更改为简单而熟悉的 #!/usr/bin/perl 保持在 ActivePerl 下运行而不是内置。
我需要用新的 ActivePerl 覆盖系统的默认版本。
如果要更改答案以实现拯救,我将不胜感激您的详细答案(以及它们所在的文件和目录的名称)。
谢谢!
【问题讨论】:
-
另外,在你的脚本中指定你想要的特定解释器是一个特性,不是应该避免的。
-
似乎
#!/usr/local/ActivePerl5.20.2/bin/perl在您的shell 的$PATH中的/usr/bin/perl之前被发现。您可以在运行 CGI 脚本的环境中设置 $PATH 吗?然后,您可以将/usr/local/ActivePerl5.20.2/bin/放在路径的前面并调用#!/usr/bin/env perl。这可能有效,但最好指向特定版本。 -
@SinanÜnür 谢谢。这是错字(并且复制粘贴有错字)。当然,我的脚本在 shebang 行中没有拼写错误)))
标签: macos perl path osx-mavericks activeperl