银河麒麟(内核CentOS8)安装rbenv、ruby2.6.5和rails5.2.6
一、安装 rbenv 和 ruby-build
1.安装 rbenv
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
2. 添加 rbenv 到 PATH
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
3.安装 ruby-build 插件
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
二、安装Ruby 2.6.5
1.确保安装必要的开发工具和库
查看系统信息:
cat /etc/os-release
根据系统选择命令安装开发工具和库。
输出包含 ID="kylin" 或 centos,说明应使用 yum。
使用yum安装依赖
sudo yum install -y autoconf bison gcc make openssl-devel libyaml-devel readline-devel zlib-devel ncurses-devel libffi-devel gdbm-devel
如果不确定系统可能会遇到的问题:
报错:sudo:apt-get:找不到命令
出现 sudo: apt-get 找不到命令错误,是因为 Kylin Linux(麒麟系统)基于 CentOS/Red Hat 系列,默认使用 yum 或 dnf 作为包管理工具,而非 Debian/Ubuntu 的 apt-get。
2.确认 ruby-build 是否为最新版本
Ruby 版本列表由 ruby-build 插件提供,更新它以获取最新版本支持:
通过 Git 安装
cd ~/.rbenv/plugins/ruby-buildgit pull
查看可安装的 Ruby 版本(可省略,如果版本太低,不会显示出来)
rbenv install --list
直接手动安装。
3.安装ruby2.6.5
rbenv install 2.6.5
安装前准备工作
手动下载 Ruby 源码包(这一步可以直接执行,或者再解决问题(1)后仍无法安装再执行)
# 创建缓存目录
mkdir -p ~/.rbenv/cache
# 手动下载(使用 wget)
wget https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.5.tar.bz2 -P ~/.rbenv/cache
# 或使用国内镜像(如清华源)
wget https://mirrors.tuna.tsinghua.edu.cn/ruby/ruby/2.6/ruby-2.6.5.tar.bz2 -P ~/.rbenv/cache
检查当前用户对~/.rbenv/cache有写入权限
chmod 755 ~/.rbenvchmod 755 ~/.rbenv/cache
重新安装并指定源码路径
rbenv install 2.6.5 --verbose
(--verbose是详细输出日志)
问题及解决办法:
(1)curl:(56)OpenSSL SSl_read:连接被对方重设:errno 104
error:failed to download openssl-1.1.1u.tar.gz
手动下载 OpenSSL
wget https://www.openssl.org/source/openssl-1.1.1u.tar.gz -P ~/.rbenv/cache
提示
“正在解析主机www(www) 失败:未知的名称或服务。wget:无法解析主机地址”
检查网络:ping www.baidu.com(需要手动停止,否则会一直输出,停止后会看到“握手次数”及结果)
仍没解决,出现该问题核心在于 DNS 解析失败或网络访问受限。
检查域名解析是否正常
nslookup www.openssl.org
返回 IP 地址:说明 DNS 解析正常,检查网络连通性
检查网络连通性
确认能访问目标服务器的 IP 地址:
如果 ping 通:域名解析已恢复,重新执行 wget
(2)手动下载Ruby源包码后,再次执行rbenv install ruby 2.6.5
提示空间不足,
确认磁盘空间充足:
df -h /tmp
清理临时文件
sudo rm -rf /tmp/ruby-build.*
再次执行 rbenv ruby 2.6.5
将2.6.5设为全局版本
rbenv global 2.6.5
4.检查ruby是否安装成功
ruby -v
三、安装rails5.2.6
1.安装rails5.2.6步骤
(1)安装 Bundler
gem install bundler
需要的话,使用rbenv的Ruby版本安装特定版本的Rails。
rbenv shell 2.6.5
(2) 安装 Rails 5.2.6
gem install rails -v 5.2.6
(3)验证安装
rails -v # 应该显示 Rails 5.2.6
2.问题及解决办法:
(1)gem install bundler 出现版本不匹配问题
会提示让安装相应的版本,一般是2.4.22
(2)nokogiri版本不匹配问题
根据提示的版本(1.13.10),安装相应的版本
再次执行安装rails的命令,仍提示nokogiri版本问题
解决办法:
安装对应版本的gem
wget https://rubygems.org/rubygems/rubygems-3.2.22.tgztar -xzvf rubygems-3.2.22.tgzcd rubygems-3.2.22ruby setup.rbgem -v
再次执行 gem install rails -v 5.2.6
验证是否安装成功:rails -v