今天遇到的问题,是使用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 修改你安装的版本