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

Ubuntu 18.4环境下执行rake admin:create创建管理员用户失败求助

解决URI常量重复初始化警告的问题

Hey there, let's fix that URI constant conflict you're hitting when running rake admin:create!

问题根源

这个警告是因为Ruby 2.7自带了较新的URI标准库,但你的项目里同时安装了旧版本的uri gem(这里是0.10.1)。当Rake加载时,两个版本的URI库都被引入,导致常量URI::VERSION_CODE和URI::VERSION被重复定义,触发了警告。

另外,你的rake版本10.0.0也偏旧,和Rails 4.2.11.1的兼容性可能存在隐患,建议一起调整。

分步解决方案

  • 第一步:修复URI依赖冲突
    在你的Gemfile中明确指定一个与Ruby 2.7兼容的URI版本,替换掉旧的0.10.1版本:

    gem 'uri', '0.11.0'
    

    然后运行命令更新依赖:

    bundle update uri
    
  • 第二步:升级Rake到兼容版本
    Rails 4.2.11.1推荐使用Rake 12.x系列版本,在Gemfile中添加:

    gem 'rake', '~> 12.3.3'
    

    同样运行更新命令:

    bundle update rake
    
  • 第三步:验证修复效果
    完成上述步骤后,再尝试运行你的管理员创建命令:

    rake admin:create
    

    此时URI的重复定义警告应该会消失,命令也能正常执行。

额外建议

Rails 4.2是比较老旧的版本,而Ruby 2.7相对较新,两者之间的兼容性问题可能不止这一处。如果后续还有其他奇怪的错误,考虑是否需要调整Ruby版本(比如降到2.6.x,更适配Rails 4.2),或者升级Rails到更高的稳定版本。

内容的提问来源于stack exchange,提问作者Lingam.G

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 19:32:50