簡體   English   中英

RoR3和MySQL錯誤:dyld:找不到符號:_mysql_init

[英]RoR3 and MySQL error: dyld: Symbol not found: _mysql_init

我正在為我的Ruby on Rails 3.0.5應用程序Mac OS X 10.6解決MySQL問題。

我安裝了MySQL 5.1版,我收到了這個錯誤:

dyld: lazy symbol binding failed: Symbol not found: _mysql_init
  Referenced from: /Users/manny/.gem/ruby/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
  Expected in: flat namespace

dyld: Symbol not found: _mysql_init
  Referenced from: /Users/manny/.gem/ruby/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
  Expected in: flat namespace

Trace/BPT trap

我試圖安裝MySQL v5.5,但錯誤仍然存​​在。 我從.dmg安裝了MySQL。

您不需要刪除MySQL並重新安裝它,我只使用以下命令。 從終端進行操作非常簡單,可以解決您的問題:

rvmsudo ARCHFLAGS="-arch x86_64" gem install mysql2 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config --with-opt-lib=/usr/local/mysql/lib 

我希望這可以幫助您解決問題。

我在網上嘗試了很多解決方案。 最后我決定以另一種方式做到這一點。 原因是大多數解決方案都帶有綁定問題的修復程序,這可以解決安裝過程中的問題。 只是授權問題。

首先從Perl庫文件夾中刪除DBI和DBD / DBD :: mysql文件和文件夾:

/Library/Perl/5.16/darwin-thread-multi-2level

在那之后,我通過sudo開始戰隊

sudo cpan

在那里我安裝了第一個DBI,然后安裝了DBD :: mysql

install DBI
install DBD::mysql

一切都終於奏效了! 希望這有幫助,有人。 簡單的解決方案。 它花了我2天的時間來調試和弄清楚。

給下面一個...

# Use mysqldump to backup your databases to text files!
# Stop the database server
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
edit /etc/hostconfig and remove the line MYSQLCOM=-YES-
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*

然后...

# Install Homebrew if you have not got it.
brew install mysql
export ARCHFLAGS="-arch i386 -arch x86_64" gem install mysql -- --with-mysql dir=/usr/local \ --with-mysql-config=/usr/local/bin/mysql_config

假設你的自制前綴是/ usr / local

否則你總是可以下載所需的MySQL版本,安裝並運行以下內容......

env ARCHFLAGS="-arch x86_64" gem install --no-rdoc --no-ri mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

一定要在你的bash中設置你的路徑,不要使用Rails來使用mysql2 0.2.7。

暫無
暫無

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

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