我正在尝试一个访问 Mysql 数据库的简短脚本。据我所知,我已经安装了相关的 perl 模块、DBI 和 DBD::mysql 及其依赖项。
这是 test.pl 中唯一的代码
#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use DBI;
use DBD::mysql;
使用“perl test.pl”在命令行运行它运行良好,没有错误。
但是,当我尝试在 vim 中使用“\rr”通过 perlsupport 运行它时,我收到一个错误。
在@INC 中找不到 DBD/mysql.pm(@INC 包含:/Users/rob/perl5/lib/perl5/darwin-thread-multi-2level /Users/rob/perl5/lib/perl5 /Users/rob/ perl5/lib/perl5 setenv PERLBREW_MANPATH /Users/rob/perl5/perlbrew/perls/perl-5.16.0/man setenv PERLBREW_PATH /Users/rob/perl5/perlbrew/bin /Users/rob/perl5/perlbrew/perls/perl- 5.16.0/bin setenv PERLBREW_PERL perl-5.16.0 setenv PERLBREW_ROOT /Users/rob/perl5/perlbrew setenv PERLBREW_VERSION 0.69 setenv PERLBREW_MANPATH /Users/rob/perl5/perlbrew/perls/perl-5.16.0/man setenv PERLBREW_PATH /Users/ rob/perl5/perlbrew/bin /Users/rob/perl5/perlbrew/perls/perl-5.16.0/bin setenv PERLBREW_PERL perl-5.16.0 setenv PERLBREW_ROOT /Users/rob/perl5/perlbrew setenv PERLBREW_VERSION 0.69 /Library/Perl/ 5.16/darwin-thread-multi-2level /Library/Perl/5.16 /Network/Library/Perl/5。16/darwin-thread-multi-2level /Network/Library/Perl/5.16 /Library/Perl/Updates/5.16.2/darwin-thread-multi-2level /Library/Perl/Updates/5.16.2 /System/Library/ Perl/5.16/darwin-thread-multi-2level /System/Library/Perl/5.16 /System/Library/Perl/Extras/5.16/darwin-thread-multi-2level /System/Library/Perl/Extras/5.16 .) 在/Users/rob/Desktop/perl/test.pl 第 11 行。开始失败 - 编译在 /Users/rob/Desktop/perl/test.pl 第 11 行中止。
我在 OSX 上使用 perlbrew 并使用安装了 perlbrew 的 Perl 5.16.0 版本,并且我已经为模块设置了 Local::Lib。我查看了所有设置,甚至尝试卸载/重新安装 perlbrew perl 5.16.0 安装并卸载/重新安装 DBI 和 DBD::mysql 以查看我的设置是否搞砸了。
@INC 中的“setenv XXXXXXX”似乎不合适,所以我可能搞砸了设置。
编辑
所以我最终找到了问题所在。我的 PERL5LIB 变量在其他地方设置不正确(霍布斯是对的),所以我现在在我的 fish.config 文件中正确设置了它。我仍然需要找出那个问题在哪里,但是这个特定的问题已经解决了。