install_driver(mysql)失败:找不到DBD / mysql.pm

时间:2019-02-21 18:19:12

标签: mysql git perl ubuntu redmine

问题不再重复,请先阅读我所面临的问题,然后如果重复,则将其标记出来,如果重复我的问题有助于我解决问题,这将是有帮助的,因为我已经遍历了所有链接和解决方案提到过其他类似的问题,但没有运气。

我正在尝试通过以下链接在ec2-aws-instance上设置redmine git

https://docs.bitnami.com/installer/how-to/configure-advanced-integration-git-redmine/

我能够将Redmine项目与git存储库正确连接,但是一旦到达上述链接的第三步,我将面临如下问题

步骤:-3 配置Git访问控制

以下是尝试使用Redmine用户凭据保护我的git存储库时的错误。

  

[2019年2月21日星期四17:46:26.918619] [perl:错误] [pid 26820:tid   139790464616192] [客户端127.0.0.1:50156] install_driver(mysql)   失败:无法在@INC中找到DBD / mysql.pm(@INC包含:   /opt/bitnami/git/lib/site_perl/5.16.3   /opt/bitnami/perl/lib/5.16.3/x86_64-linux-thread-multi   /opt/bitnami/perl/lib/5.16.3   /opt/bitnami/perl/lib/site_perl/5.16.3/x86_64-linux-thread-multi   /opt/bitnami/perl/lib/site_perl/5.16.3   /opt/bitnami/perl/lib/5.16.3/x86_64-linux-thread-multi   /opt/bitnami/perl/lib/site_perl/5.16.3/x86_64-linux-thread-multi   /bitnami/ruby23stack-linux-x64/output/perl/lib/site_perl/5.16.3/x86_64-linux-thread-multi   /bitnami/ruby23stack-linux-x64/output/perl/lib/site_perl/5.16.3   /bitnami/ruby23stack-linux-x64/output/perl/lib/5.16.3/x86_64-linux-thread-multi   /bitnami/ruby23stack-linux-x64/output/perl/lib/5.16.3。   / opt / bitnami / apache2)在(eval 6)第3行。\ n也许是DBD :: mysql perl   模块尚未完全安装,\也可能没有大写   'mysql'不正确。\ n可用的驱动程序:DBM,ExampleP,文件,Gofer,   代理,海绵。\ n在   /opt/bitnami/perl/lib/site_perl/5.16.3/x86_64-linux-thread-multi/Apache/Redmine.pm   行557。\ n应用26921标准输出:

没有第三步,我的存储库就公开了,任何知道存储库URL的人都可以克隆我的存储库或对我的git存储库执行其他操作。因此,根据上述文档链接,第三步出于安全目的,这对我来说很重要。

按照文档中的说明,一旦我将以下行添加到apache config中,当我尝试克隆存储库时,我在bitnami日志中遇到了以上错误

 <Location "/">
       AuthType Basic
       AuthName "Redmine git repositories"
       Require valid-user

       PerlAccessHandler Apache::Authn::Redmine::access_handler
       PerlAuthenHandler Apache::Authn::Redmine::authen_handler
       RedmineDSN "DBI:mysql:database=bitnami_redmine;host=localhost;mysql_socket=installdir/mysql/tmp/mysql.sock"
       RedmineDbUser "REDMINE_DB_USERNAME"
       RedmineDbPass "REDMINE_DB_PASSWORD"
       RedmineGitSmartHttp yes
     </Location>

当我运行以下命令来克隆存储库时,无需进行文档上的第三步,我就能够正确地克隆存储库,但是在第三步中,我失败了,并且日志中的错误高于命令行中的错误。 / p>

bitnami@127.0.0.1:/tmp$ git clone http://git.domain.com/test2
Cloning into 'test2'...
fatal: unable to access 'http://git.domain.com/test2/': The requested URL returned error: 500

我什至尝试安装以下软件包,但没有运气

sudo apt-get install libdbd-mysql-perl

我的操作系统是

Ubuntu 16.04.5 LTS \n \l

1 个答案:

答案 0 :(得分:0)

为了使Perl安装能够与MySQL数据库对话,它需要使用DBD :: mysql模块。该模块不是标准Perl安装的一部分,需要单独安装。使用CPAN命令行工具(cpan DBD::mysql)或使用apt-getapt-get install libdbd-mysql-perl)安装它时,它将安装在系统Perl使用的库目录中(安装为操作系统的一部分)。您可以通过运行以下命令来确认已正确安装:

$ perldoc DBD::mysql
$ perl -MDBD::mysql -le'print $DBD::mysql::VERSION'

如果正确安装了DBD :: mysql,则第一个命令将向您显示该模块的文档,第二个命令将提供版本号。

但是,正如我所说的,它已安装供系统Perl安装使用。从错误消息中可以看到,您看到您的Bitnami安装未使用系统Perl。而是使用/opt/bitnami中安装的单独的Perl安装。

因此,您需要在此Perl安装的模块库中安装DBD :: mysql。可以要求cpan将模块安装在另一个目录中,但是对于将某些内容安装到Bitnami的目录树中,我会有所警惕。我强烈怀疑在此过程的较早阶段已跳过了安装步骤。如果Bitnami需要使用Perl程序中的MySQL并安装具有自己的模块库的Perl发行版,则它应该在安装中包括DBD :: mysql或提供有关如何安装它的明确说明。

我的建议是仔细阅读Bitnami的安装说明,并了解他们对安装MySQL支持的看法。如果那不起作用,您应该将这个问题带到Bitnami的支持渠道。