在Mac OSX 10.7.3 上面安装 perl 模块

用perl读取文本文件然后存储到数据库是很便捷的。但是昨天却碰到了一个问题:DBI::mysql 模块没有安装。用CPAN shell安装模块,结果编译又出了问题。

$ perl -MCPAN -e shell

cpan[2]> install DBD::mysql

...

...

#     Tried to use 'DBD::mysql'.
#     Error:  Can't load '/private/var/root/.cpan/build/DBD-mysql-4.021-ZjrxCJ/blib/arch/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/private/var/root/.cpan/build/DBD-mysql-4.021-ZjrxCJ/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Library not loaded: libmysqlclient.18.dylib
#   Referenced from: /private/var/root/.cpan/build/DBD-mysql-4.021-ZjrxCJ/blib/arch/auto/DBD/mysql/mysql.bundle
#   Reason: image not found at /System/Library/Perl/5.12/darwin-thread-multi-2level/DynaLoader.pm line 204.

捣鼓了两天,才在网上找到一篇文章提到了mysql在Mac OSX上的一些异常:简单的说,如果是自行在mysql.com上下载dmg的话,则mysql安装成功之后不会主动将mysql的library路径加入系统。我们需要手动将下列行加入到 /etc/bashrc 之中

export DYLD_LIBRARY_PATH="/usr/local/mysql/lib:$DYLD_LIBRARY_PATH"

[yi@yimacpro15] ~/Projects> ls /usr/local/mysql/lib
libmysqlclient.18.dylib        libmysqlclient_r.18.dylib    libmysqld-debug.a        plugin
libmysqlclient.a        libmysqlclient_r.a        libmysqld.a
libmysqlclient.dylib        libmysqlclient_r.dylib        libmysqlservices.a

然后运行: source /etc/bashrc 加载变化。

我在网上找到的文章在此:http://www.bartbusschots.ie/blog/?p=2186

posted @ 2012-05-08 06:19  Yi Zhang  阅读(3540)  评论(0编辑  收藏  举报