gem install mysql遇到問題。解決方案

c3tc3tc3t發表於2015-07-10

今天遇到的問題,是使用gem install mysql遇到的。報下面的錯誤

Building native extensions. This could take a while...
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.

/usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from extconf.rb:2:in `<main>'


Gem files will remain installed in /home/c4t/.rvm/gems/ruby-2.2.1/gems/mysql2-0.3.18 for inspection.
Results logged to /home/c4t/.rvm/gems/ruby-2.2.1/gems/mysql2-0.3.18/ext/mysql2/gem_make.out

後來我分析。我根本沒有安1.9.1,報的錯誤資訊和1.9.1,後我我用ruby --version檢視。發現ruby竟然也是1.9.1,但是我沒有安裝ruby1.9.1,

後來使用sudo apt-get autoremove果斷解除安裝ruby 1.9.1,結果出人意料。我的vim出問題了。後來我用從新安裝vim,結果發現原來是安裝vim是自動安裝上了ruby1.9.1 ,但是我在rvm裡看current版本是2.2.1

先不說別的,還是把vim按上 

sudo apt-get install vim-gnome

這時候ruby 是1.9.1

我使用rvm use 2.2.1報錯

"RVM is not a function, selecting rubies with 'rvm use ...' will not work."

但是我使用rvm list 都是好用的啊。後來我搜尋找到這個地方

http://blog.sina.com.cn/s/blog_9d6e035501010lol.html

原來安裝rvm時候。少了這一句在我的.zshrc中,

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

果斷填上,之後。執行

rvm use 2.2.1

檢視

☁  ~  ruby --version
ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-linux]

然後安裝 mysql2 或者mysql

gem install mysql (mysql2)

 

ok 問題解決

 

總結: 

1 rvm安裝成功後。.zshrc中少了下面這句程式碼,填上

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

2 安裝vim 會自動安裝1.9.1 要記得安裝vim後要使用rvm use 修改你安裝的版本

 

相關文章