我正在尝试访问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'在命令行运行它运行正常,没有错误。
但是,当我尝试使用“\ rr”在vim中通过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-2l evel /System/Library/Perl/5.16 /System/Library/Perl/Extras/5.16/darwin-thread-multi-2level /System/Library/Perl/Extras/5.16。)at / Users / rob / Desktop / perl / test .pl第11行。 BEGIN失败 - 编译在/Users/rob/Desktop/perl/test.pl第11行中止。
我在OSX上使用perlbrew并使用perlbrew安装的Perl 5.16.0版本,我为模块设置了Local :: Lib。我查看了所有设置,甚至尝试取消/重新安装perlbrew perl 5.16.0安装和un /重新安装的DBI和DBD :: mysql,看看我是否搞砸了我的设置。
“setenv XXXXXXX”似乎在@INC中不合适,所以我可能搞砸了这个设置。
修改
所以我最终找到了这个问题。我的PERL5LIB变量在其他地方设置错误(hobbs是正确的),所以我现在在fish.config文件中正确设置了它。我仍然需要追捕那个问题,但这个具体问题已经解决了。