簡體   English   中英

在Ruby on Rails服務器上啟動問題

[英]Problem Starting Ruby on Rails Server

我對Ruby,Rails和MySQL完全陌生。 我試圖啟動一個新項目並啟動默認服務器,但出現以下錯誤。 我已安裝以下軟件:

  • Ruby:Ruby 1.8.7(2008-08-11補丁程序級別72)[i686-darwin9.8.0]
  • 導軌:導軌(3.0.7)
  • MySQL的:mysql2(0.2.7)
  • RubyGems:1.7.2

錯誤如下:

$ rails s
/usr/local/lib/ruby/gems/1.8/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle: dlsym(0x251680, Init_mysql2): symbol not found - /usr/local/lib/ruby/gems/1.8/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle (LoadError)
    from /usr/local/lib/ruby/gems/1.8/gems/mysql2-0.2.7/lib/mysql2.rb:8
    from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:68:in `require'
    from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:68:in `require'
    from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:66:in `each'
    from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:66:in `require'
    from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:55:in `each'
    from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler/runtime.rb:55:in `require'
    from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.12/lib/bundler.rb:120:in `require'
    from /Users/nelsonwittwer/Sites/simple_cms/config/application.rb:7
    from /usr/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:28:in `require'
    from /usr/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:28
    from /usr/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:27:in `tap'
    from /usr/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/commands.rb:27
    from script/rails:6:in `require'
    from script/rails:6

我不太確定該從何而來,是否願意提供任何幫助。 謝謝。

確保在您的ruby系統中安裝了mysql2 gem。 要檢查它,請使用gem list -d 如果找不到mysql2 gem,則在ubuntu中必須先安裝以下庫,然后再安裝mysql2 gem:

# sudo apt-get install libmysqlclient15-dev  (for mysql-5.*)

# sudo apt-get install  libmysql-ruby  ruby-dev

之后,您可以使用sudo gem install mysql2進行安裝 ,並確保database.yml中的適配器值為mysql2。 另一個問題是未加載庫,如果該問題未加載庫 ,則可以查看此鏈接:嘗試在具有MySQL2的OS X 10.6上運行“ rails server”時出現libmysqlclient.16.dylib錯誤

您需要在系統上安裝mySQL gem。

現在,不要使用apt-get來安裝它,因為apt-get通常具有舊版本的ruby庫。

另外,我強烈建議您在開始時使用SQLite。 而且,Bundler也非常有幫助(在railstutorial中進行了介紹

在基於ubuntu / debian的發行版上(並且您確實要使用MySQL):

如果您使用的是ruby 1.8.x(請使用ruby -v檢查):

sudo apt-get install libmysqlclient-dev
sudo apt-get install ruby-dev
sudo gem install mysql2 

如果您使用的是ruby 1.9.x:

sudo apt-get install libmysqlclient-dev
sudo apt-get install ruby1.9.1-dev
sudo gem install mysql2

暫無
暫無

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

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