2009-08-31 63 views
2

我有一個web應用程序是Rails 1.2.3做,我剛纔遷移它軌道2.2.2並在部署的應用打破了。原來我需要安裝MySQL gem,因爲rails 2.2.2需要這個。MySQL的寶石,Ubuntu的&UTF8

因此,我確實安裝了它,但我必須安裝「sudo gem install mysql - -with-mysql-config」(根據http://brantinteractive.com/2007/02/16/getting-the-mysql-gem-installed-on-ubuntu/),這似乎是個竅門。我在Ubuntu 6.06.2 LTS Dapper上。

在生產中的應用程序將無法啓動仍。所以我用啓動腳本/控制檯生產,這是回來了:

Loading production environment (Rails 2.2.2) 
Character set 'utf8' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index' file 
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/mysql_adapter.rb:548:in `real_connect':Mysql::Error: Can't initialize character set utf8 (path: /usr/share/mysql/charsets/) 
>> 

我做了一些關於這個錯誤,有人四處尋找說,我使用(MySQL的寶石!),MySQL客戶端沒有連接使用UTF8。我不知道如何以任何其他方式安裝此gem,以便它正確安裝。有任何想法嗎?

+0

居然還有安裝了MySQL的客戶端庫。請檢查是什麼版本。你還在運行什麼版本的MySQL? – tliff

+0

好了,該教程的鏈接我上面貼的,我跑了「的apt-get安裝libmysqlclient12-dev的」安裝前的寶石。我必須在寶石安裝之前這樣做。 MySQL版本是5.0.22。 – Jef

+0

你有一個在你的database.yml中顯式設置的區域設置嗎? – cwninja

回答

0

確認。安裝libmysqlclient15-dev過度使用libmysqlclient12-dev會有訣竅。

0

我建議檢查安裝了兼容版本的MySQL版本,如MySQL-2.7.3.gem,將使用MySQL 5.1或更高版本順利,但會遇到一些問題5.0。 其次檢查你的mysql是否正確安裝,如mysql提示嘗試創建數據庫。 那麼如果兩個問題都解決了,只是驗證你的mysql安裝的插座路徑,並添加到您的database.yml文件。

socket /var/tmp/mysql/mysql.sock. 
0

按照以下兩個步驟來安裝mysql寶石2.7

sudo易於得到安裝Ruby-dev的

須藤寶石安裝mysql -v 2.7