由于deepin linux非常符合国人的使用习惯,另外它是以debain linux为基础开发的,所有我用它为基础做rails项目开发。在rbenv下安装2.5.x和2.6.x非常顺利,由于以前的项目是在rails4.2.x下完成,不能采用最新的ruby版本,只能安装ruby2.3.x,但是发现deepin linux下安装 ruby2.3.x,常报各类错误,使得安装ruby2.3.x不能完成。
方法一、按rbenv一般的方法安装ruby 2.3.8
报如下错误:
The Ruby openssl extension was not compiled.
The Ruby readline extension was not compiled.
ERROR: Ruby install aborted due to missing extensions
Try running `apt-get install -y libssl-dev libreadline-dev` to fetch missing dependencies.
这个提示很明确,按提示安装缺少的包即可。
建议安装:
ncurses-doc readline-doc libssl-doc
还查到一篇类似的文章:https://blog.csdn.net/u013366098/article/details/50593282,不过他是用的rvm安装的,情况不完全相同。
但是之后还会报错,仍然是这个错误。在网上查了后,做如下处理就行。
https://ruby-china.org/topics/37064
https://www.jb51.cc/ubuntu/347434.html
sudo apt install libssl1.0-dev
sudo apt purge libssl-dev && sudo apt install libssl1.0-dev
如果以前安装的rbenv,则需要在 .rbenv/plugins/ruby-build下执行git pull下载最新的 ruby builder版本。
方法二,这种方法总感觉不是很纯粹。
先执行sudo apt install ruby2.3,ruby2.3-dev,安装系统自带的ruby 2.3版本。一般安装的是ruby 2.3.1,然后在rbenv下再安装2.3.8就可以成功。
RuCaptcha插件不显示验证码的故障处理。如果执行sudo apt install imagemagick,会发现已经安装最新版,但是不能正常显示验证码,需要执行下面2行命令先卸载原先的安装包
sudo apt remove imagemagick-6-common
sudo apt remove imagemagick
再执行下面命令进行安装即可。
sudo apt install imagemagick