2016-09-21 367 views
1

我试图让一个用Perl编写的工具工作,但似乎无论我做什么我都无法解析依赖关系DBI包。无法解析perl依赖:无法在@INC中找到DBI.pm

ERROR: Can't locate DBI.pm in @INC (you may need to install the DBI module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl .) at line 15.

我已经试过:

  • 使用CPAN安装DBI,在没有任何错误安装,但我仍然得到同样的错误。

  • 手动在DBI包中使用make install脚本。

  • 手动将DBI.pm复制到@INC中的某些目录中。

  • 尝试设置PERL5LIB到每个百万的地方是Perl一遍遍安装相同的包再次(正如有人谁从未使用perl的什么可能的原因是有这个?!?)

  • 运行的perl -MCPAN -e'install

我不知道还有什么做的......

+0

在系统perl中安装模块的最佳方式是使用包管理器(例如yum,apt-get)。你在运行什么发行版? – ThisSuitIsBlackNot

+0

不在Linux上,我在OSX上 –

+0

第一个选项“使用cpan安装DBI”是使用的选项。你可以向我们展示你在运行时得到的输出吗? '@ INC'中列出的所有目录似乎都是系统目录,因此您需要以root身份运行安装。您可能想要使用[local :: lib](https://metacpan.org/pod/local::lib)来允许将非root用户安装到您选择的目录。 –

回答

0

我相信,Linux上常见的建议是不能修改系统Perl和使用不同的Perl 2.安装用于Perl代码开发。部分理由是操作系统依赖于系统Perl,如果系统Perl被修改/更新,它可能会破坏操作系统的某些功能。

我不确定这个问题是否也适用于OSX。如果是这样,您可以使用perlbrew来帮助管理多个Perl安装。由于有关于修复MacOSX 1.7 (Lion)的说明,我假设perlbrew将在MacOSx中工作。

使用perlbrew可能是一种更好的方式,而不是继续修改系统Perl。

相关问题