2011-06-09 104 views
5

我試圖找出圍繞軌道配置的極其複雜的迷宮。到目前爲止,我設法在Ubuntu上設置rvm(出於某種原因,ruby在Ubuntu的repo中已經過時了)。 我設法設置了一個rails項目。我想我的測試項目使用mysql而不是mysqlite。如何在Ubuntu上通過rvm使用rails3時安裝mysql2 gem?

當我試圖「耙分貝:遷移」,我得到了一個錯誤:「!!!缺少的mysql2寶石將它添加到您的Gemfile:寶石‘mysql2’」

當我嘗試「寶石安裝mysql',我得到一個錯誤,告訴我需要爲安裝命令提供參數。但是,參數列表非常龐大,我不知道要選擇哪些參數。

如何通過運行在Ubuntu的rvm與MySQL的rails3?

謝謝。

回答

0
+0

恐怕這種聯繫不利於上市要安裝到寶石。它不提供有關在使用rvm安裝mysql或mysql gem時需要執行的操作的任何信息。它只是給出了正常的方式,不會產生相同的問題。 – bob 2011-06-09 07:46:37

+0

對於安裝mysql gem,也許你可以使用像這樣的東西 - >「gem install mysql - --with-mysql-config =/usr/local/mysql/bin/mysql_config」 – Bjoernsen 2011-06-09 08:14:18

0

我相信你需要寶石的名字添加到您的Gemfile,位於你的項目根:

它應是這樣的:

source 'http://rubygems.org' 

gem 'rails', version 
gem 'mysql', version 

其中version是你的寶石版」 d喜歡安裝,並且默認會有一堆其他信息。

然後,導航到您的項目目錄並運行捆綁命令,您應該設置。

+0

這樣做會產生相同的錯誤我以前得到過,只有更多的文字。這是同樣的問題:mysql或mysql2 gem需要安裝選項,但錯誤代碼並不告訴我它需要哪些選項或原因。再次 - 問題似乎是特定於使用rvm安裝rails – bob 2011-06-09 07:49:26

2

首先,您需要安裝mysql。你可以使用Ubuntu的包管理器來安裝它。不需要特殊的步驟。您還需要使用mysql工具最初創建數據庫和用戶。此鏈接顯示如何做到這一點:

http://www.tutorialspoint.com/ruby-on-rails/rails-database-setup.htm

其次,你需要在你的Gemfile中列出的mysql2寶石。這告訴Rails繼續並使用該寶石。你需要這樣一行:

gem 'mysql2', '< 0.3' 

我指定的版本小於0.3,因爲我用Rails 3.0.7和0.3及更高版本是爲Rails 3.1。另外,一定要使用mysql2 gem而不是mysql--它似乎更好地處理字符編碼。

三,運行「bundle install」,讓Rails下載並安裝mysql2 gem。

最後,你需要改變你的database.yml文件,把連接信息的數據庫,像這樣:

development: 
    adapter: mysql2 
    database: your_database_name 
    username: your_username 
    password: your_password 
    encoding: utf8 

編碼部分是我使用的正是,你可能需要一些不同的東西。這個條目告訴Rails如何在開發環境中找到你的數據庫。

一旦這一切就緒,事情應該奏效。

+0

我安裝了mysql,並且我的gemfile中列出了mysql2 gem。我已經完全放棄了這個,並刪除了我的rvm安裝。對我來說太難了。 Ruby on Ubuntu似乎很難。 – bob 2011-06-11 13:07:42

22

我有同樣的問題,你需要做的就是先安裝libmysqlclient-dev。

歡呼

1
sudo apt-get install libmysql-ruby libmysqlclient-dev 

如果上述命令不起作用,因爲libmysql-ruby無法找到了,下面應該是足夠了:

sudo apt-get install libmysqlclient-dev 

在Red Hat/CentOS的及其他分派用yum:

sudo yum install mysql-devel 

在Mac OS X上用Homebrew:

brew install mysql 

然後運行

bundle install 

中的Gemfile