从node.js应用程序连接到mysql,错误:“0”;dyld:惰性符号绑定失败:找不到符号:“U mysql”u init;
我使用来自XAMPP的OSX 10.6.8和MySQL 当我运行node.js应用程序(app.js)时: 我看到这个输出:从node.js应用程序连接到mysql,错误:“0”;dyld:惰性符号绑定失败:找不到符号:“U mysql”u init;,mysql,node.js,xampp,dyld,Mysql,Node.js,Xampp,Dyld,我使用来自XAMPP的OSX 10.6.8和MySQL 当我运行node.js应用程序(app.js)时: 我看到这个输出: Airs0urce:nodejs airs0urce$ node app.js dyld: lazy symbol binding failed: Symbol not found: _mysql_init Referenced from: /Applications/XAMPP/xamppfiles/htdocs/myproject/nodejs/node_m
Airs0urce:nodejs airs0urce$ node app.js
dyld: lazy symbol binding failed: Symbol not found: _mysql_init
Referenced from: /Applications/XAMPP/xamppfiles/htdocs/myproject/nodejs/node_modules/mysql-libmysqlclient/build/Release/mysql_bindings.node
Expected in: dynamic lookup
dyld: Symbol not found: _mysql_init
Referenced from: /Applications/XAMPP/xamppfiles/htdocs/myproject/nodejs/node_modules/mysql-libmysqlclient/build/Release/mysql_bindings.node
Expected in: dynamic lookup
Trace/BPT trap
谷歌搜索后已经尝试过几种解决方案。
从XAMPP目录添加mysql LIB,以包含以下路径:
export DYLD_LIBRARY_PATH=/Applications/XAMPP/xamppfiles/lib/mysql:$DYLD_LIBRARY_PATH
试图使用MacPorts安装mysql5-devel,但运气不佳,构建失败:
Airs0urce:~ airs0urce$ sudo port install mysql5-devel
---> Computing dependencies for mysql5-devel
---> Building mysql5-devel
Error: Target org.macports.build returned: shell command failed (see log for details)
Log for mysql5-devel is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_databases_mysql5-devel/mysql5-devel/main.log
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>
airs0source:~airs0source$sudo端口安装mysql5-devel
--->mysql5-devel的计算依赖关系
--->构建mysql5-devel
错误:Target org.macports.build返回:shell命令失败(有关详细信息,请参阅日志)
mysql5-devel的日志位于:/opt/local/var/macports/logs/\u opt\u local\u var\u macports\u sources\u rsync.macports.org\u release\u ports\u databases\u mysql5-devel/mysql5-devel/main.Log
错误:处理过程中遇到状态1。
要报告错误,请参阅
如果您想查看,有一个日志文件:这是因为Mac OS X Lion(10.7)上的配置问题:
lib/libmysqlclient.18.dylib
(mysql 5.5及以上版本)
步骤1:
确保在~/.profile
export ARCHFLAGS=-arch x86_64
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH
步骤2:
我正在使用rvm,因此,我使用了以下命令:
rvmsudo ARCHFLAGS="-arch x86_64" gem install mysql2 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config --with-opt-lib=/usr/local/mysql/lib
它解决了Mac lion和mysql x86_64上rails应用程序的问题。这是因为Mac OS X lion(10.7)上存在配置问题:
lib/libmysqlclient.18.dylib
(mysql 5.5及以上版本)
步骤1:
确保在~/.profile
export ARCHFLAGS=-arch x86_64
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH
步骤2:
我正在使用rvm,因此,我使用了以下命令:
rvmsudo ARCHFLAGS="-arch x86_64" gem install mysql2 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config --with-opt-lib=/usr/local/mysql/lib
它解决了Mac lion和mysql x86_64上rails应用程序的问题。我花了很多时间来研究这个问题,包括设置DVLD库路径和将库复制到/usr/lib中 sudo cp/usr/local/mysql/lib/libmysqlclient.18.dylib/usr/lib 见鬼,只要能让它工作就行。最后,我尝试清除64位对32位的默认值,结果成功了 默认删除com.apple.versioner.perl
不确定我的perl是64位还是32位,但我的db是64位,仅使用默认值似乎效果更好;-) 我为此花了很多时间,包括设置DVLD库路径和将库复制到/usr/lib中 sudo cp/usr/local/mysql/lib/libmysqlclient.18.dylib/usr/lib 见鬼,只要能让它工作就行。最后,我尝试清除64位对32位的默认值,结果成功了 默认删除com.apple.versioner.perl 不确定我的perl是64位还是32位,但我的db是64位,仅使用默认值似乎效果更好;-)