【问题标题】:Switch to new installed Perl Version for migrating otrs config files on CentOS 6切换到新安装的 Perl 版本以在 CentOS 6 上迁移 otrs 配置文件
【发布时间】:2018-04-25 11:10:50
【问题描述】:

我将从头开始:

案例:我必须从 OTRS 5(已经使用多年)更新到 OTRS 6。

我关注了 OTRS 文档的 Update from OTRS 5 to OTRS 6

我按照描述做了所有事情,直到涉及到converting the XML configuration files。因此我需要 Perl。

默认安装的 Perl 版本是 5.10.*。为了转换这些 XML,我至少需要 5.16.*。

我通过下载 .gz 并按照安装说明手动安装了 Perl-5.20.*。

命令“perl -v”仍然显示perl-5.10

我搜索了如何在几个 Perl 版本之间切换并找到“perlbrew”。我安装了它。我使用了命令:perlbrew list。这应该向我显示所有已安装的 perls。它没有告诉我什么。所以我通过 Perlbrew 安装了 Perl v.5.26.* 并切换到它。它似乎奏效了。

使用命令perl -v 仍然显示Perl-5.10.*

我通读了整个互联网。 但是我不能切换到新的 Perl 版本,所以我不能转换那些 XML。因为迁移脚本仍然告诉我,安装了 Perl 5.10,至少需要 5.16。

我做错了什么?

【问题讨论】:

  • 如果你手动编译一个Perl,你需要专门使用它。命令行上的perl 将使用PATH 中的任何内容。这可能是系统 Perl。 Perlbrew 不知道你在它之外编译的 Perls。它只看到系统 Perl 和它自己的 Perl。你是如何切换到你的 5.26 的?
  • 您在哪里看到需要 Perl 5.16?迁移帮助脚本是否明确说明了这一点?
  • perlbrew 是一个好方法。当你说perlbrew use perl-5.26.2,然后紧跟在which perlperl -v 之后,结果是什么?
  • @simbabque 哦,好的。我使用命令“perlbrew switch perl-5.26.2”切换到 5.26。是的,OTRS 迁移工具明确要求 perl v5.16。
  • @haukex 在所有情况下,它都会返回 perl-5.26.2。但是当我尝试使用该迁移工具时,它仍然返回我正在使用 perl-5.10。

标签: perl centos otrs perlbrew


【解决方案1】:

otrs.Console.pl的shebang行是#!/usr/bin/perl,这意味着当你从命令行以bin/otrs.Console.pl运行它时,它会使用/usr/bin/perl,不管你安装了其他什么perls。

要么以perl bin/otrs.Console.pl ... 运行命令,要么将otrs.Console.pl 的第一行更改为#!/usr/bin/env perl

编辑 根据 cmets 中的讨论:您需要以 otrs 用户身份运行命令,并且您试图通过 su otrs ... 执行此操作。问题在于perlbrew 默认情况下仅为当前用户安装其perls。所以你需要首先otrs用户身份登录,然后使用perlbrew安装并切换到较新的Perl,然后应用我的解决方案之一以上建议。

【讨论】:

  • 按照建议更改第一行并安装所有必要模块(DateTime 和 DBI)后,出现以下错误:bin/otrs.Console.pl:第 21、22 和 24 行:使用:找不到命令第 25 行:意外标记附近的语法错误 (' line 25:use FindBin qw($RealBin);'
  • @user9696859 你试过以perl bin/otrs.Console.pl ... 运行命令吗?在the screenshot(来自您提议的编辑 - 您应该将其作为评论发布)您似乎正在使用su otrs bin/otrs.Console.pl 运行命令,这不是我的建议。
  • @user9696859 和in this comment一样。
  • 我也试过了:su otrs perl bin/otrs.Console.pl 控制台返回:“/usr/bin/perl: /usr/bin/perl: 无法执行二进制文件”对不起, entweder stelle ich mich zu dumm an oder iwas stimmt nicht... Danke für deine Geduld
  • @user9696859 试试 没有 su otrs, 只是 perl bin/otrs.Console.pl ... (Ich hoffe, damit klappt's.) - 或者至少没有orts,你可能需要su(但要小心)。
猜你喜欢
  • 2014-04-18
  • 1970-01-01
  • 2016-03-09
  • 1970-01-01
  • 2015-01-13
  • 2014-05-24
  • 2023-04-02
  • 2023-03-26
  • 1970-01-01
相关资源
最近更新 更多