银河麒麟(内核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

相关推荐
独行soc3 分钟前
2025年渗透测试面试题总结-阿里云[实习]阿里云安全-安全工程师(题目+回答)
linux·经验分享·安全·阿里云·面试·职场和发展·云计算
勤不了一点15 分钟前
小白上手RPM包制作
linux·运维·服务器·软件工程
麦a~M了M2 小时前
ansible
linux·运维·ansible
QQ_4376643143 小时前
Linux下可执行程序的生成和运行详解(编译链接汇编图解)
linux·运维·c语言·汇编·caffe
窦再兴3 小时前
来一个复古的技术FTP
linux·运维·服务器
xiaobin889994 小时前
【2025最新版】VMware虚拟机下载安装教程 保姆级图文详解(附安装包+常用镜像Linux,win11,ubuntu,centos)
linux·其他·ubuntu·centos
ALex_zry4 小时前
Ubuntu 20.04 C++开发环境搭建指南(2025版)
linux·c++·ubuntu
疯狂的挖掘机5 小时前
记一次从windows连接远程Linux系统来控制设备采集数据方法
linux·运维·windows
sz66cm6 小时前
Linux基础 -- 用户态Generic Netlink库高性能接收与回调框架
linux
数巨小码人6 小时前
Linux常见命令
大数据·linux·运维·服务器·elasticsearch·搜索引擎