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

Rails运行generate命令提示已安装的bundler缺失是什么原因

问题原因

  • 报错的核心是Rails启动时调用的Spring预加载器,没有在读取的GEM_PATH路径中找到项目Gemfile.lock锁定的bundler 2.2.31版本。你直接在shell执行bundler --version能正常返回,是因为当前shell的环境变量匹配到了gem安装路径,但Spring进程加载时的环境变量没有同步。
  • 你当前使用的是macOS自带的系统Ruby 2.6版本,系统Ruby的gem安装路径默认存在权限隔离,也容易出现路径匹配不一致的问题。

解决方法

  1. 先停止当前运行的Spring进程,清除缓存
spring stop
  1. 同步项目锁定的bundler版本和本地安装的版本
bundle update --bundler
  1. 修正rails generate命令的格式(description:和text之间不要加空格),重新执行即可
rails generate scaffold todo_list title:string description:text

后续优化建议

  • 不要直接使用macOS自带的系统Ruby做Rails开发,推荐通过rbenv、rvm等版本管理工具安装独立的用户级Ruby环境,可避免系统权限限制导致的各类gem路径匹配问题。
  • 每次切换Ruby版本或者拉取新的项目代码后,先执行bundle install同步依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 08:06:04