【问题标题】:I have Perl5.28 installed and Net::LibIDN installed but amavisd cant find it我安装了 Perl5.28 并安装了 Net::LibIDN 但 amavisd 找不到它
【发布时间】:2019-04-14 08:21:00
【问题描述】:

我在 MacMini 上,使用 Homebrew 安装东西。

但是 - amavisd 无法启动,因为它显然找不到这个 Net::IDN 模块?

我收到了

ERROR: MISSING REQUIRED BASIC MODULES:
Net::LibIDN
BEGIN failed--compilation aborted at /usr/local/sbin/amavisd line 251.

但我确定它已安装。

Fetching http://www.cpan.org/authors/id/D/DA/DAGOLDEN/install-  0.01.tar.gz ... OK
Configuring install-0.01 ... OK
Building and testing install-0.01 ... OK
Successfully installed install-0.01
Net::LibIDN is up to date. (0.12)
1 distribution installed

那么我如何告诉 Perl 现在找到它呢?

编辑: 所以我强制重新安装 - 但仍然没有乐趣

zeus:~ robert$ sudo cpanm --reinstall Net::LibIDN
Password:
--> Working on Net::LibIDN
Fetching http://www.cpan.org/authors/id/T/TH/THOR/Net-LibIDN-0.12.tar.gz ... OK
Configuring Net-LibIDN-0.12 ... OK
Building and testing Net-LibIDN-0.12 ... OK
Successfully reinstalled Net-LibIDN-0.12
1 distribution installed
zeus:~ robert$ 

并尝试运行 amavisd ...

zeus:~ robert$ sudo /usr/local/sbin/amavisd -c /usr/local/etc/amavisd.conf debug
Password:
ERROR: MISSING REQUIRED BASIC MODULES:
  Net::LibIDN
BEGIN failed--compilation aborted at /usr/local/sbin/amavisd line 251.
zeus:~ robert$ 

所以由于某种原因,amavisd-new 似乎找不到该模块。只是那个模块?

【问题讨论】:

  • amavisd 是否在您安装库的同一 perl 中运行?也不是你安装了install(幸运的是它是无害的)。
  • 是的,抱歉,我确实安装了“安装”.. 但是是的,我确保我只有一个版本的 Perl。更新到最新。 5.8 我认为是。
  • cpanm 在哪里安装了模块?在 amavisd 找不到丢失的模块之前,@INC 变量的值是多少?
  • /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/Net/LibIDN.pm 和 in Inc 在这里思考。 add_entropy($], @INC, %ENV);
  • 我担心amavisd使用系统perl。

标签: macos perl cpan


【解决方案1】:

这是因为amavisd 使用系统perl,而cpanm 安装到自定义perl 并在那里安装模块。

要么将模块安装到系统 perl,要么尝试说服 amavisd 在自定义 perl 中运行(可能涉及手动更改其源文件中的 shebang 行)。

【讨论】:

    猜你喜欢
    • 2020-03-15
    • 1970-01-01
    • 2019-08-19
    • 1970-01-01
    • 2015-09-06
    • 2011-07-18
    • 2013-10-17
    • 2018-09-23
    • 2018-11-15
    相关资源
    最近更新 更多