银河麒麟(内核CentOS8)安装rbenv、ruby2.6.5和rails5.2.6

一、安装 rbenv 和 ruby-build

1.安装 rbenv

ruby 复制代码
git clone https://github.com/rbenv/rbenv.git ~/.rbenv

2. 添加 rbenv 到 PATH

ruby 复制代码
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc

3.安装 ruby-build 插件

ruby 复制代码
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

二、安装Ruby 2.6.5

1.确保安装必要的开发工具和库

查看系统信息:

ruby 复制代码
cat /etc/os-release

根据系统选择命令安装开发工具和库。

输出包含 ID="kylin" 或 centos,说明应使用 yum。

使用yum安装依赖

ruby 复制代码
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 安装

ruby 复制代码
cd ~/.rbenv/plugins/ruby-build

git pull

查看可安装的 Ruby 版本(可省略,如果版本太低,不会显示出来)

ruby 复制代码
rbenv install --list

直接手动安装。

3.安装ruby2.6.5

ruby 复制代码
rbenv install 2.6.5

安装前准备工作

手动下载 Ruby 源码包(这一步可以直接执行,或者再解决问题(1)后仍无法安装再执行)

创建缓存目录

ruby 复制代码
mkdir -p ~/.rbenv/cache

手动下载(使用 wget)

ruby 复制代码
wget https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.5.tar.bz2 -P ~/.rbenv/cache

或使用国内镜像(如清华源)

ruby 复制代码
wget https://mirrors.tuna.tsinghua.edu.cn/ruby/ruby/2.6/ruby-2.6.5.tar.bz2 -P ~/.rbenv/cache

检查当前用户对~/.rbenv/cache有写入权限

ruby 复制代码
chmod 755 ~/.rbenv

chmod 755 ~/.rbenv/cache

重新安装并指定源码路径

ruby 复制代码
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

提示空间不足,

确认磁盘空间充足:

ruby 复制代码
df -h /tmp

清理临时文件

ruby 复制代码
sudo rm -rf /tmp/ruby-build.* 

再次执行 rbenv ruby 2.6.5

将2.6.5设为全局版本

ruby 复制代码
rbenv global 2.6.5

4.检查ruby是否安装成功

ruby 复制代码
ruby -v

三、安装rails5.2.6

1.安装rails5.2.6步骤

(1)安装 Bundler

ruby 复制代码
gem install bundler

需要的话,使用rbenv的Ruby版本安装特定版本的Rails。

ruby 复制代码
rbenv shell 2.6.5

(2) 安装 Rails 5.2.6

ruby 复制代码
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

ruby 复制代码
wget https://rubygems.org/rubygems/rubygems-3.2.22.tgz

tar -xzvf rubygems-3.2.22.tgz

cd rubygems-3.2.22

ruby setup.rb

gem -v

再次执行 gem install rails -v 5.2.6

验证是否安装成功:rails -v

相关推荐
琥珀.7 小时前
mysql中json数组转列表查询
linux·运维·服务器
dawnsky.liu7 小时前
在 RHEL 中使用 goose 实现远程主机管理
linux·运维·ai
Linux运维技术栈9 小时前
CVE-2026-91403 高危漏洞修复:Rocky Linux 9 多版本 JDK 环境清理实操
java·linux·运维
slongzhang_11 小时前
linux 递归删除源码文件|递归删除目录下 *.js,但排除 *.min.js
linux·开发语言·javascript
叼烟扛炮11 小时前
Linux 学习笔记(三十三):线程互斥——互斥锁(Mutex)与死锁
linux·运维·服务器·笔记·学习·1024程序员节
无足鸟ICT11 小时前
【RHCA+】who命令(查看已登陆用户)
linux·运维·服务器
Escalating_xu11 小时前
【Linux 网络编程】应用层协议 HTTP(下):Header、连接管理与 C++ HTTP 服务器
linux·服务器·网络
GeW14 小时前
新质生产力路线图落地,Linux运维与数据库架构师的机会清单
linux
Brilliantwxx14 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
father_122714 小时前
Greenplum 集群故障恢复与主备同步机制实战
linux·网络·greenplum