2012-05-18 53 views
3

我需要安裝mysql2 gem,但它在與「錯誤:無法構建gem本機擴展」鏈接時斷開。它的確使用不正確的-lmysqlclient_r,而它應該使用-lmysqlclient。繼續安裝在特定點破解的gem

所以我做什麼:

$ cd /usr/local/rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11/ext/mysql2 
$ vi Makefile # change -lmysqlclient_r to -lmysqlclient 
$ make 
linking shared-object mysql2/mysql2.so 
$ cd ../../ 

我現在應該怎麼做才能繼續從這個角度安裝?

更新: 運行make install「工作」我想。然而,我的紅寶石安裝非常糟糕,所以我決定從零開始,這次用戶空間安裝。得到的mysql2安裝之後:

$ make install 
/usr/bin/install -c -m 0755 mysql2.so /data/web/rails/.rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11/lib/mysql2 

$ rails server -d 
/data/web/rails/.rvm/gems/[email protected]/gems/bundler-1.1.3/lib/bundler/resolver.rb:287:in `resolve': Could not find gem 'mysql2 (>= 0) ruby' in the gems available on this machine. (Bundler::GemNotFound) 
... 
+0

這是因爲在第一次安裝寶石所需的庫之後,通過make install你運行了服務器,首先安裝了所需的寶石:) – astropanic

回答

4

一個make後,你應該做一個make install

+0

對不起,我必須收回驗收。正如astopanic指出的,這安裝了庫,但不是寶石。 – Marek

+0

好的。我剛剛回答了你的問題:*我現在應該怎麼做才能繼續從這一點安裝?*。 :) –