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

相关推荐
傻啦嘿哟1 小时前
Python正则表达式:用“模式密码“解锁复杂字符串
linux·数据库·mysql
浪裡遊2 小时前
Linux常用指令
linux·运维·服务器·chrome·功能测试
深夜情感老师5 小时前
centos离线安装ssh
linux·centos·ssh
菜鸟射手10 小时前
QT creater和vs2017文件路径问题
linux·c++·windows·qt
@Aurora.10 小时前
【项目日记(三)】
linux·服务器·网络
白总Server11 小时前
Nginx 中间件
大数据·linux·运维·服务器·nginx·bash·web
望获linux12 小时前
实时操作系统在服务型机器人中的关键作用
linux·机器人·操作系统·开源软件·rtos·具身智能
哈哈幸运12 小时前
Linux Sed 深度解析:从日志清洗到 K8s 等12个高频场景
linux·运维·编辑器·sed
心随_风动12 小时前
主流操作系统对比分析(macOS、Linux、Windows、Unix)
linux·windows·macos