我正在尝试在Snow Leopard(v10.6.6)上使用DBD :: MySQL。操作系统自带的默认Perl版本是v5.10.0。因为我读到它是64位的,所以我下载并安装了一个64位版本的MySQL(mysql-5.5.8-osx10.6-x86_64)。
安装和设置MySQL很顺利,在此提供配置和版本号以供参考。
我使用CPAN下载了DBI和DBD :: MySQL驱动程序。然后我:
- 安装了DBI - 设置了Makefile.PL - 从命令行运行了make命令
Makefile.PL表示将使用以下设置进行编译和测试: ``` I will use the following settings for compiling and testing:
cflags (mysql_config ) = -I/usr/local/mysql/include -Os -g -fno-common -fno-strict-aliasing -arch x86_64 embedded (mysql_config ) = libs (mysql_config ) = -L/usr/local/mysql/lib -lmysqlclient -lpthread mysql_config (guessed ) = mysql_config nocatchstderr (default ) = 0 nofoundrows (default ) = 0 ssl (guessed ) = 0 testdb (default ) = test testhost (default ) = testpassword (User's choice) = r00t! testsocket (default ) = testuser (User's choice) = root
要更改这些设置,请参见“perl Makefile.PL --help”和“perldoc INSTALL”。
在/ Library / Perl / 5.10.0 / darwin-thread-multi-2level / auto / DBI /和/ System / Library / Perl / Extras / 5.10.0 / darwin-thread-multi-2level / auto / DBI /中找到了多个Driver.xst的副本。在Makefile.PL第907行,使用DBI 1.616(适用于darwin-thread-multi-2level上的perl 5.010000)安装在/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBI/中。
为DBD :: mysql编写Makefile。 ```
一切似乎都很顺利,直到我尝试运行make test:
安装和设置MySQL很顺利,在此提供配置和版本号以供参考。
我使用CPAN下载了DBI和DBD :: MySQL驱动程序。然后我:
- 安装了DBI - 设置了Makefile.PL - 从命令行运行了make命令
Makefile.PL表示将使用以下设置进行编译和测试: ``` I will use the following settings for compiling and testing:
cflags (mysql_config ) = -I/usr/local/mysql/include -Os -g -fno-common -fno-strict-aliasing -arch x86_64 embedded (mysql_config ) = libs (mysql_config ) = -L/usr/local/mysql/lib -lmysqlclient -lpthread mysql_config (guessed ) = mysql_config nocatchstderr (default ) = 0 nofoundrows (default ) = 0 ssl (guessed ) = 0 testdb (default ) = test testhost (default ) = testpassword (User's choice) = r00t! testsocket (default ) = testuser (User's choice) = root
要更改这些设置,请参见“perl Makefile.PL --help”和“perldoc INSTALL”。
在/ Library / Perl / 5.10.0 / darwin-thread-multi-2level / auto / DBI /和/ System / Library / Perl / Extras / 5.10.0 / darwin-thread-multi-2level / auto / DBI /中找到了多个Driver.xst的副本。在Makefile.PL第907行,使用DBI 1.616(适用于darwin-thread-multi-2level上的perl 5.010000)安装在/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBI/中。
为DBD :: mysql编写Makefile。 ```
一切似乎都很顺利,直到我尝试运行make test:
t/00base....................NOK 2/6# 尝试使用'DBD::mysql'。 # 错误: 无法加载'/Users/swm/.cpan/build/DBD-mysql-4.018-Pnd2qz/blib/arch/auto/DBD/mysql/mysql.bundle',用于模块DBD::mysql: dlopen(/Users/swm/.cpan/build/DBD-mysql-4.018-Pnd2qz/blib/arch/auto/DBD/mysql/mysql.bundle, 2): 找不到库: libmysqlclient.16.dylib # 引用自: /Users/swm/.cpan/build/DBD-mysql-4.018-Pnd2qz/blib/arch/auto/DBD/mysql/mysql.bundle # 原因: 图像未找到于/System/Library/Perl/5.10.0/darwin-thread-multi-2level/DynaLoader.pm line 207. # at (eval 7) line 2 # 编译失败需要的是require at (eval 7) line 2. # BEGIN failed--compilation aborted at (eval 7) line 2. FAILED--进一步测试停止: 无法加载DBD::mysql make: *** [test_dynamic] Error 9
它失败了,因为似乎找不到DBD的mysql.bundle。有人遇到过这个问题吗?或者可以指导我下一步该尝试什么?我需要DBI/DBD::MySQL来做我的新工作,我正在努力寻找解决方案。
非常感谢。
sudo ln -s /usr/local/mysql/lib/libmysqlclient.21.dylib /usr/local/lib/libmysqlclient.21.dylib
(有关“SIP”的更多详细信息,请参见 https://dev59.com/71oV5IYBdhLWcg3wErWD#36734569) - Gonnagle