首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Rails中使用AMPPS的MySQL

在Rails中使用AMPPS的MySQL
EN

Stack Overflow用户
提问于 2016-01-02 01:43:17
回答 1查看 531关注 0票数 3

我试图在Ampps的MySQL bin中使用Rails,但是当我运行命令rails generate scaffold User name:string email:string时,会得到以下错误:

代码语言:javascript
复制
dyld: lazy symbol binding failed: Symbol not found: _mysql_server_init
Referenced from: /Users/myusername/.rvm/gems/ruby-2.2.1/gems/mysql2-0.4.2/lib/mysql2/mysql2.bundle
  Expected in: flat namespace

dyld: Symbol not found: _mysql_server_init
  Referenced from: /Users/myusername/.rvm/gems/ruby-2.2.1/gems/mysql2-0.4.2/lib/mysql2/mysql2.bundle
  Expected in: flat namespace

我已经用我的环境配置了Ampps Mysql,但是我无法使它与rails一起工作,我有以下的配置。

代码语言:javascript
复制
$ which mysql                                          
/Applications/AMPPS/mysql/bin/mysql

$ echo $PATH
/Users/myusername/.rvm/gems/ruby-2.2.1/bin:/Users/myusername/.rvm/gems/ruby-2.2.1@global/bin:/Users/myusername/.rvm/rubies/ruby-2.2.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/myusername/.rvm/gems/ruby-2.2.1/bin:/Users/myusername/.rvm/gems/ruby-2.2.1@global/bin:/Users/myusername/.rvm/rubies/ruby-2.2.1/bin:/Applications/AMPPS/php-5.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/myusername/.rvm/bin:/Users/myusername/.rvm/bin:/Applications/AMPPS/mysql/bin

$ ls -l /usr/local/lib/libmy*.dylib 
lrwxr-xr-x  1 myusername  admin  53 Jan  1 19:30 /usr/local/lib/libmysqlclient.18.dylib -> /Applications/AMPPS/mysql/lib/libmysqlclient.18.dylib

我试过做命令,但没有成功:

代码语言:javascript
复制
$ gem install mysql2 -- --with-mysql-lib=/Applications/AMPPS/mysql/lib --with-mysql-include=/Applications/AMPPS/mysql/include --with-mysql-config=/Applications/AMPPS/mysql/bin/mysql_config

代码语言:javascript
复制
bundle config build.mysql2 --with-mysql-lib=/Applications/AMPPS/mysql/lib --with-mysql-include=/Applications/AMPPS/mysql/include --with-mysql-config=/Applications/AMPPS/mysql/bin/mysql_config
bundle install

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-22 18:43:19

我下载了这个AMPPS包并对MySQL二进制文件进行了快速检查:

代码语言:javascript
复制
$ file /Volumes/AMPPS/AMPPS/mysql/bin/mysql
/Volumes/AMPPS/AMPPS/mysql/bin/mysql: Mach-O executable i386

您的64位Ruby安装试图链接到32位MySQL库,而不是找到它正在寻找的东西。“符号未被发现”错误通常表示体系结构不匹配。

我对您的建议是从包管理系统(如MacPorts或Homebrew )安装这些程序。我喜欢MacPorts,所以我会给你指示。我的印象是,国产啤酒更受欢迎,但我没有使用它自己。

  1. 安装Xcode和Xcode命令行工具
  2. 同意在终端上使用Xcode许可证:sudo xcodebuild -license
  3. 安装MacPorts:https://distfiles.macports.org/MacPorts/MacPorts-2.3.4-10.11-ElCapitan.pkg
  4. 更新端口列表:sudo port selfupdate
  5. 安装完毕:sudo port install mysql56 rb-rails rb-mysql
  6. 定期更新:sudo port selfupdate && sudo port -uc upgrade outdated

这样您就可以正确地为您的系统构建二进制文件,您可以很容易地保持它们的最新情况,并且您也不会用不一定要使用的2G的东西来填充您的系统(5种不同版本的PHP、一对数据库服务器、Perl、Python等等)。此外,您还可以了解其他实用程序(如Ruby )的最新版本,而不是依赖操作系统附带的过时版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34561795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档