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

升级Rack至3.0.8后遇Gem::GemNotFoundException错误,求解决方案

解决Rack升级后找不到rackup的问题

核心问题分析

你遇到的Gem::GemNotFoundException是因为系统全局的rackup命令无法匹配bundle管理的Rack 3.0.8版本,或是Rack 3.x的命令结构变化导致直接调用rackup失效。

具体解决步骤

  • 优先通过bundle环境执行命令
    不要直接运行rackup,改用bundle exec rackup,这样会调用项目Gemfile中指定的Rack版本对应的命令,避免全局gem与项目本地gem的冲突。

  • 校验并重置Gemfile与Gemfile.lock

    1. 打开项目的Gemfile,确认已明确指定Rack版本:
      gem 'rack', '3.0.8'
      
    2. 删除项目根目录的Gemfile.lock文件,重新执行bundle install,让bundle重新生成匹配当前gem版本的锁文件。
  • 清理本地gem缓存并重装依赖

    1. 执行gem cleanup rack清除本地所有旧版本的Rack gem。
    2. 手动安装指定版本:gem install rack -v 3.0.8。
    3. 再次运行bundle install确保项目依赖正确关联。
  • 确认rack-session兼容性
    之前的DelegateClass错误是旧版Rack与rack-session不兼容导致的,升级Rack后需确保rack-session适配3.x版本:

    • 检查Gemfile中是否直接引入了rack-session相关gem(如rack-session-cookie),如果有,更新到最新兼容版本:
      gem 'rack-session-cookie', '~> 0.2.0' # 或最新兼容版本
      
    • 执行bundle update rack-session-cookie更新该依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 19:05:02