You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu18.04下Redmine5.0升级遇Bundler及Ruby环境问题求助

适配版本组合

Redmine 5.0.x 官方指定的兼容版本如下,完全匹配你的环境:

  • Ruby:3.0.6(或3.1.x,二者均在Redmine 5.0支持范围内)
  • Rails:6.1.7.x(Redmine 5.0自带的Rails版本,无需手动修改)
  • Bundler:2.2.33(你当前使用的版本符合要求,2.2.x以上均可)
解决步骤
  1. 修复Ruby环境变量问题

    • 检查当前shell的Ruby版本:ruby -v,若显示为2.5.0,说明版本管理器(rbenv/rvm)未正确配置。以rbenv为例,需将eval "$(rbenv init -)"添加到~/.bashrc或~/.zshrc,重启终端后再次验证。
    • 避免用sudo执行bundler/rails命令(sudo会默认调用系统Ruby),若必须用权限执行,使用版本管理器对应的sudo命令(如rvm的rvmsudo)。
  2. 清理旧依赖残留

    • 删除冲突文件和目录:rm Gemfile.lock && rm -rf vendor/bundle
    • 卸载低版本Bundler:gem uninstall bundler -v '<2.0',确保全局仅保留2.2.33及以上版本。
  3. 重新安装依赖

    • 进入Redmine根目录,指定Bundler版本初始化:bundle _2.2.33_ install
    • 若出现系统依赖缺失报错,Ubuntu下安装对应库:
      • MySQL数据库:sudo apt-get install libmysqlclient-dev
      • PostgreSQL数据库:sudo apt-get install libpq-dev
      • 通用编译依赖:sudo apt-get install ruby-dev zlib1g-dev libssl-dev
  4. 验证运行

    • 启动测试服务:bundle exec rails server -e production
    • 确认项目使用正确Ruby版本:bundle exec ruby -v
关键注意事项
  • Redmine 5.0不支持Ruby 3.2.x,这是你之前升级后仍调用旧Ruby的核心原因,高版本Ruby会触发兼容性 fallback。
  • 不要手动修改Redmine自带的Gemfile中的Rails版本,项目已内置兼容的版本定义,手动修改会导致依赖混乱。
  • 所有bundler/rails命令必须加bundle exec,强制使用项目指定的Ruby和依赖版本。

内容的提问来源于stack exchange,提问作者Kailash Gajara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 02:42:37