簡體   English   中英

無法在Lion,Rails3應用程序上使用mysql2 gem與MAMP2和RVM一起使用

[英]Can't get mysql2 gem to work with MAMP2 and RVM on Lion, Rails3 app

我在OS X Lion上使用MAMP2,rvm,我無法使用mysql2 gem來使用我的Rails應用程序。

我已經關注了這篇博客文章http://blog.mirotin.net/35/mamp-1-9-5-mysql-5-5-9-and-ruby-mysql2和這篇http://www.pa -ket.com/blog/show/12-osx-ruby-mysql2-gem-python-mysqldb-using-mamp

這些是步驟:

$ cd /tmp
$ mv /Users/yourname/Desktop/mysql-5.5.9.tar.gz .
$ tar xf mysql-5.5.9.tar.gz
$ cd mysql-5.5.9
$ brew install cmake
$ cmake . -DMYSQL_UNIX_ADDR=/Applications/MAMP/tmp/mysql/mysql.sock -DCMAKE_INSTALL_PREFIX=/Applications/MAMP/Library

此步驟失敗:

$ make -j 3

在/tmp/mysql-5.5.9/CMakeFiles/Makefile2中對'my_atomic-t.dir'進行單元測試后,make -j 3'就可以了。

$ cp libmysql/*.dylib /Applications/MAMP/Library/lib/
$ mkdir -p /Applications/MAMP/Library/include/mysql
$ cp include/* /Applications/MAMP/Library/include/mysql
$ env ARCHFLAGS="-arch x86_64" gem install mysql2 -v 0.2.11 -- --with-mysql-config=/Applications/MAMP/Library/bin/mysql_config
Building native extensions.  This could take a while...
Successfully installed mysql2-0.2.11
1 gem installed
Installing ri documentation for mysql2-0.2.11...
Enclosing class/module 'mMysql2' for class Client not known
Installing RDoc documentation for mysql2-0.2.11...
Enclosing class/module 'mMysql2' for class Client not known

我想“客戶不知道”的警告並不重要。
最后一步:

install_name_tool -change /tmp/mysql-5.5.9/libmysql/libmysqlclient.16.dylib /Applications/MAMP/Library/lib/libmysqlclient.16.dylib ~/.rvm/gems/ruby-1.9.2-p290@global/gems/mysql2-0.2.11/ext/mysql2/mysql2.bundle

以及啟動rails服務器時出現的錯誤:

$ rails server
=> Booting WEBrick
=> Rails 3.0.7 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[FATAL] failed to allocate memory

我只是無法設置mysql2 gem並且我已經嘗試了幾周。 在嘗試安裝mysql2 gem之后出現了很多錯誤,這就是我完全陷入困境的地方。

我在OS X Lion上使用RVM和ruby-1.9.2-p290,使用MAMP 2.0.3和Rails 3.0.7。

非常感謝任何幫助!

我解決了這個問題卸載mysql-connector-c並使用brewed mysql服務器中的include和lib標志重新編譯mysql2 gem。

$ brew uninstall mysql-connector-c
$ gem uninstall mysql2
$ gem install mysql2 -- --with-mysql-include=/usr/local/Cellar/mysql/5.5.19/include --with-mysql-lib=/usr/local/Cellar/mysql/5.5.19/lib

http://abisso.org/2012/03/failed-to-allocate-memory/

你不應該使用MAMP。

我讀了你要做的事。 你的問題不是mysql2的寶石。 你的問題是你的mysql安裝。

按照本文顯示使用自制軟件安裝mysql。 它非常簡單,大約需要10-15分鍾,包括安裝時間來安裝它。

http://blog.theablefew.com/very-simple-homebrew-mysql-and-rails

使用brew安裝mysql的旁注。 安裝mysql后它會成功,它會吐出大量信息,你需要仔細查看它,因為在所有其他垃圾中有1-2條線路是指令,粘貼一些東西等等......

我的設置:

目前在我的設置中我有MAMP(對於我的/ sites目錄)在做wordpress網站等簡單的東西時...然后我有我的自制的mysql for rails(最終我切換到sqlite / pg for heroku)。 是的,我可以同時運行它們。 我有這個設置因為我的項目要求我在rails應用程序,靜態html登陸頁面和一些較舊的php項目之間跳轉,我喜歡分離有2個mysql安裝。

嘗試將此添加到您的Gemfile:

gem 'mysql2', < '0.3'

我不久前發了一篇關於類似問題的帖子。 你可以在這里查看答案:

由於MySQL錯誤導致無法運行遷移

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM