bundle exec rails generate报错:Unknown version "5.2"问题求助
问题原因分析
你遇到的这个错误本质是Rails版本与配置文件指定的默认设置版本不匹配:
load_defaults方法的作用是加载对应Rails版本的默认配置规则,它要求指定的版本号不能高于当前你正在使用的Rails版本。- 你的项目配置文件
/Users/YickTing/workspace/ecommerce/config/application.rb里调用了load_defaults "5.2",但本地实际运行的Rails版本是5.1.6——5.1.6并不支持加载5.2版本的默认配置规则,所以直接抛出了RuntimeError: Unknown version "5.2"。
修复方法
这里有两种可行的修复方案,你可以根据自己的需求选择:
方案一:升级Rails到5.2版本(推荐,如果你确实需要5.2的默认配置)
- 打开项目根目录下的
Gemfile,找到rails对应的行,把版本号修改为5.2系列的稳定版(比如5.2.8.1):gem 'rails', '~> 5.2.8.1' - 在终端执行bundle更新命令,同步依赖版本:
bundle update rails - 等待依赖更新完成后,重新运行
bundle exec rails generate命令即可正常工作。
方案二:修改配置文件匹配当前Rails版本
如果你暂时不想升级Rails,只需要调整配置文件里的版本号,让它和当前使用的5.1.6对应:
- 打开
/Users/YickTing/workspace/ecommerce/config/application.rb文件,找到这一行:config.load_defaults "5.2" - 把它修改为:
config.load_defaults "5.1" - 保存文件后,重新执行生成命令就能解决报错。
内容的提问来源于stack exchange,提问作者ttinggggg
相关产品推荐
相关产品推荐

