讲师中心 微信公众号
AI工具推荐 视频效率加速

如何在宝塔面板安装Ruby on Rails环境_使用RVM管理多版本Ruby

雨涛吖_6892

雨涛吖_6892

发布时间:2026-04-30 08:13:19

|

344人浏览过

|

来源于php中文网

原创

宝塔面板执行rvm命令报“command not found”是因为非交互式shell不自动加载~/.bashrc中的RVM环境,需用完整路径调用wrapper脚本或手动source。

如何在宝塔面板安装ruby on rails环境_使用rvm管理多版本ruby

RVM 不能直接在宝塔面板的 Web 界面里安装或管理 —— 它必须通过 SSH 终端以用户身份运行,且宝塔默认不加载 RVM 的 shell 函数,硬塞进面板脚本会失效。

为什么宝塔面板里执行 rvm 命令报 “command not found”

宝塔的后台任务、网站 Shell 执行器、计划任务等环境都是非交互式 shell(no-interactive),不会自动 source ~/.bashrc~/.bash_profile,而 RVM 正是靠这些文件里的 source ~/.rvm/scripts/rvm 注入到 shell 函数中的。

常见错误现象:

  • 在宝塔「终端」里输入 rvm list 报错:command not found
  • 用宝塔「网站」→「Shell」执行 rvm use 3.3.4,返回空或无效果
  • 写进宝塔计划任务的 rvm use 2.7.8 && bundle exec rails server 直接失败

解决办法只有两个:

  • 手动在每条命令前加 source ~/.rvm/scripts/rvm &&(不推荐,易漏)
  • 改用完整路径调用:比如 ~/.rvm/wrappers/ruby-3.3.4@myapp/ruby(推荐,稳定)

rvm install 在宝塔服务器上卡住或编译失败

不是网络慢,而是缺编译依赖或 OpenSSL 版本冲突。Ubuntu/Debian 系统尤其常见,CentOS 需额外装 epel-releasegcc-c++

必须提前装好的系统包(以 Ubuntu 22.04+ 为例):

  • build-essential(含 gccmake
  • libssl-dev(不是 openssl 命令本身)
  • libreadline-dev(否则 irb 启动报错)
  • zlib1g-dev(否则 gem 安装失败)
  • libyaml-devlibsqlite3-dev(Rails 项目基本依赖)

执行前务必先跑一遍:

sudo apt update && sudo apt install -y build-essential libssl-dev libreadline-dev zlib1g-dev libyaml-dev libsqlite3-dev

另外,国内用户一定要换源,否则 rvm install 3.3.4 会卡在下载 ruby 源码阶段:

sed -i 's!ftp\.ruby-lang\.org/pub/ruby!ruby\.taobao\.org/mirrors/ruby!' ~/.rvm/config/db

如何让 Nginx 反代的 Rails 应用真正用上 RVM 指定的 Ruby + Gemset

Nginx worker 进程完全不认你的用户 shell 环境,它只认你配置里写的绝对路径。指望 passenger_rubyrvm-execrvm do 是徒劳的。

正确做法是用 RVM 生成的 wrapper 脚本:

  • 先创建带 gemset 的环境:rvm use 3.3.4@myapp --create
  • 再生成可执行 wrapper:rvm wrapper 3.3.4@myapp myapp
  • 此时会生成:~/.rvm/wrappers/ruby-3.3.4@myapp/ruby~/.rvm/wrappers/myapp/ruby

然后在 Nginx 的站点配置中写死这个路径:

passenger_ruby /home/wwwroot/myapp/.rvm/wrappers/ruby-3.3.4@myapp/ruby;

注意:passenger_ruby 必须指向 ruby 可执行文件,不是 bundlerailspassenger_app_env 也得设对,比如 production

宝塔里部署 Rails 项目时最容易被忽略的权限和路径问题

宝塔新建网站时,默认把项目根目录设为 /www/wwwroot/myapp,但 RVM 安装的 Ruby 和 gem 全在 /home/wwwroot/ 下(用户主目录),而宝塔的 PHP/Python 站点往往用 www 用户跑,Ruby 却必须用你自己的用户(比如 admin)运行 —— 权限不一致直接导致 bundle install 失败或 Passenger 启动报 Permission denied

关键检查点:

  • 确认 Rails 项目所有文件属主是你自己的用户(如 admin),不是 wwwchown -R admin:admin /www/wwwroot/myapp
  • 确保 /www/wwwroot/myapp 可被该用户读写,尤其 tmp/log/public/assets
  • 不要把 .ruby-version.rvmrc 放进项目根目录——宝塔不会识别,反而可能误导本地开发环境
  • bundle install --deployment --without development test,避免依赖路径写死在用户 home 下

RVM 的 wrapper 路径、用户权限、系统依赖这三块没对齐,Nginx 就永远看不到 Rails 进程起来。其他花哨配置都得排在这之后。

热门AI工具

更多
火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

相关专题

更多
Linux安装Ruby语言详细教程
Linux安装Ruby语言详细教程

本专题整合了Linux安装配置Ruby相关教程,阅读专题下面的文章了解更多详细操作。

92

2026.04.02

宝塔面板部署ThinkPHP6项目与LNMP环境配置实践
宝塔面板部署ThinkPHP6项目与LNMP环境配置实践

本专题围绕宝塔面板在 ThinkPHP6 项目部署中的实际应用展开,系统讲解 LNMP 环境一键搭建、站点创建、域名绑定、伪静态配置以及 PHP 版本切换等关键操作。内容还包括数据库配置、项目上传部署、运行目录设置及常见部署问题排查。通过完整上线流程演示,帮助开发者快速实现 ThinkPHP 项目的服务器部署与稳定运行,提升网站上线效率与运维能力。

395

2026.03.23

宝塔面板网站安全加固与防攻击配置实践
宝塔面板网站安全加固与防攻击配置实践

本专题围绕宝塔面板在网站安全防护中的应用展开,系统讲解防火墙配置、SSH 安全策略、登录保护、端口管理及恶意访问拦截机制。内容涵盖 CC 攻击防护、文件权限设置、敏感目录保护及安全日志分析,帮助用户全面提升服务器安全性。

52

2026.03.25

宝塔面板多站点管理与虚拟主机配置实践
宝塔面板多站点管理与虚拟主机配置实践

本专题讲解如何通过宝塔面板实现多站点部署与统一管理,包括站点创建、域名绑定、子站配置及资源隔离策略。通过实战案例,帮助用户高效管理多个网站项目,提高服务器利用率。

139

2026.03.25

宝塔面板Nginx性能优化与高并发配置实践
宝塔面板Nginx性能优化与高并发配置实践

本专题围绕宝塔环境下的 Nginx 优化展开,深入讲解缓存策略、连接数调优、Gzip 压缩、静态资源加速及反向代理配置。帮助用户提升网站访问速度与并发处理能力。

416

2026.03.25

宝塔面板数据库管理与MySQL性能调优实践
宝塔面板数据库管理与MySQL性能调优实践

本专题讲解宝塔面板中数据库管理与优化技巧,包括数据库备份恢复、慢查询日志分析、索引优化及连接数配置。通过实际案例,帮助用户提升数据库运行效率。

181

2026.03.25

宝塔面板SSL证书部署与HTTPS配置实践
宝塔面板SSL证书部署与HTTPS配置实践

本专题围绕网站 HTTPS 部署展开,讲解 SSL 证书申请、自动续签、强制 HTTPS 跳转及混合内容问题解决方案,提升网站安全与 SEO 表现。

389

2026.03.25

宝塔面板定时任务与自动化运维实践
宝塔面板定时任务与自动化运维实践

本专题讲解宝塔定时任务功能的使用,包括计划任务创建、Shell 脚本执行、日志管理及自动备份策略,帮助用户实现服务器自动化运维。

147

2026.03.25

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

160

2026.09.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
宝塔入门指引手册
宝塔入门指引手册

共0课时 | 0人学习

宝塔官方实践教程
宝塔官方实践教程

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn