必须安装ruby 3.0+(如3.2.2)并配置rbenv管理,换清华gem源、禁用文档生成、用bundle隔离依赖,再安装rails 7.1.3;postgresql需手动创建用户并配置database.yml方可连接。

在统信UOS上安装并配置Ruby on Rails,必须避开系统自带的老旧Ruby(通常为2.7.x),否则Rails 7+会因版本不兼容直接报错退出;同时需手动补全编译依赖、切换Gem源、正确初始化Bundler,缺一不可。
安装Ruby运行环境(非系统默认)
统信UOS V20基于Debian 11,apt源中Ruby最高仅2.7.4,而Rails 7.1要求Ruby ≥3.0.0,必须自行安装新版。
第一步:打开终端,更新软件包并安装基础构建工具:
sudo apt update && sudo apt install -y build-essential zlib1g-dev libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 autoconf bison cmake libffi-dev libgdbm-dev libncurses5-dev libtool libxml2-dev libxslt1-dev libcurl4-openssl-dev libicu-dev
第二步:使用rbenv管理Ruby版本——它比RVM更轻量,且与UOS桌面环境兼容性更好:
git clone https://github.com/rbenv/rbenv.git ~/.rbenv && echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc && echo 'eval "$(rbenv init -)"' >> ~/.bashrc && source ~/.bashrc
第三步:安装ruby-build插件并编译Ruby 3.2.2(当前Rails 7.1最稳定匹配版本):
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build && rbenv install 3.2.2 && rbenv global 3.2.2
第四步:验证版本并禁用rdoc/ri文档生成(节省安装时间、避免后续bundle报错):
ruby -v → 输出应为ruby 3.2.2p87;
echo "gem: --no-document" > ~/.gemrc
配置Gem源与安装Bundler、Rails
国内直连rubygems.org极慢且常超时,必须换清华镜像源,否则bundle install卡死在下载环节。
执行gem sources --add https://mirrors.tuna.tsinghua.edu.cn/rubygems/ --remove https://rubygems.org/,确认输出中只有https://mirrors.tuna.tsinghua.edu.cn/rubygems/一行。
安装Bundler(Rails依赖管理核心):
gem install bundler -N
安装Rails 7.1.3(最新稳定版,含Hotwire默认支持):
gem install rails -N
PostgreSQL 18.4 官方 Ubuntu 安装包现已发布,这是目前最新的稳定版本。推荐通过官方 APT 仓库安装:先执行 sudo apt update 更新索引,再运行 sudo apt install postgresql-18 即可完成部署。新版本引入了异步 I/O 子系统,在顺序扫描与 VACUUM 场景下性能提升显著,同时支持 UUID v7 原生生成函数与虚拟生成列。
【注意】不要加sudo执行gem install,否则全局gem路径会与rbenv冲突,导致rails命令找不到
创建并初始化首个Rails项目
这一步检验整个环境是否真正就绪,不能跳过。
方法一:直接新建项目并自动安装依赖
rails new myapp --database=postgresql → 自动执行bundle install、生成config/database.yml模板、初始化Git仓库。
方法二:手动控制流程(适合排查问题)
① rails new myapp --skip-bundle
② cd myapp
③ bundle config set --local path 'vendor/bundle' → 隔离依赖到项目内,避免污染全局
④ bundle install → 此时会从清华源拉取所有gem,耗时约2–5分钟
若bundle install中途报错“cannot load such file — openssl”,说明libssl-dev未装或Ruby编译时未链接成功,需重装Ruby:rbenv uninstall 3.2.2 → rbenv install 3.2.2
配置PostgreSQL支持(可选但推荐)
统信UOS桌面版默认不装数据库,如需真实项目开发,PostgreSQL比SQLite更贴近生产环境。
安装服务端与客户端:
sudo apt install -y postgresql postgresql-contrib libpq-dev
创建redmine用户(与Redmine部署复用同一账号,便于后期迁移):
sudo -u postgres createuser --createdb --pwprompt redmine
修改myapp/config/database.yml中development段:
username: redmine
password: 【此处必须填入上步设定的密码,明文写入,不可留空】
host: localhost
执行rails db:create → 成功则说明PostgreSQL连接通路已打通。










