我在Perl上编写了一个庞大的项目,其中包含许多以典型的#!/ usr/bin/perl开头的脚本
对于这个项目,我需要从源代码编译定制的Perl.
我试着将/ usr/bin/perl替换为我编译的版本,但操作系统已损坏(例如模块版本不匹配等).
那么有没有正确的方法用我自己构建的系统替换系统perl,或者最简单的方法是编辑所有吨的脚本并用/ usr/local/bin/perl或类似的东西替换/ usr/bin/perl?
不要替换系统perl(或一般的系统二进制文件).您可以将其构建到另一个位置(/usr/local例如,如您所建议的那样)并手动调用它.
我个人的偏好是使用plenv.有一个很好的指南在这里,让你开始.
如果您管理服务器而其他用户使用您的脚本登录,您将需要在主目录之外的某个位置构建plenv(例如./opt/plenv)并确保所有用户$ PATH都预先添加了新perl的bin路径.如果没有过多的讨论,可以/etc/profile在自定义配置文件脚本(例如/etc/profile.d/custom.sh)中声明自定义配置文件mod,甚至更好.
我还建议使用更便携的shebang (这是个人偏好完全基于我如何管理我的盒子,除非你知道完全的反响,否则可能不是一个好主意.管理服务器完全是主观的,基于它的用例,你的用例可能与我的大不相同).#!/usr/bin/env perl,它将首先使用用户中的任何perl $PATH.唯一的例外是cron作业,我通常总是硬编码完整路径.
| 归档时间: |
|
| 查看次数: |
712 次 |
| 最近记录: |