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
相关产品推荐
相关产品推荐

