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

bash与CMD中执行rails -v提示找不到railties gem报错求助

报错中文翻译

C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/rubygems.rb:265:in find_spec_for_exe': 无法找到附带rails可执行文件的railties gem(版本要求 >= 0.a)(Gem::GemNotFoundException) 调用链位置:C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0/rubygems.rb:245:in bin_path'
调用链位置:C:/RailsInstaller/Ruby2.3.3/bin/rails:22:in `

'

故障原因

系统内同时存在两个独立安装的Ruby环境:手动部署的C盘根目录Ruby 3.1(x64版本)、RailsInstaller集成的Ruby 2.3.3。环境变量Path优先级配置错误,调用rails命令时,可执行文件读取的是Ruby2.3.3路径下的脚本,gem依赖检索却走Ruby3.1的库目录,版本不匹配导致找不到对应railties组件。

解决步骤
  • 清理冲突的环境变量
    打开系统高级设置-环境变量,在用户变量、系统变量的Path条目中,删除所有指向RailsInstaller、Ruby2.3.3目录的路径,仅保留目标Ruby3.1对应的两个路径:C:\Ruby31-x64\bin、C:\Ruby31-x64\msys64\bin(已安装msys2开发组件的情况下保留)。修改完成后关闭所有已打开的CMD、bash窗口,重新启动终端生效。
  • 验证Ruby路径正确性
    新终端中执行对应命令校验路径:
    • CMD环境执行:where ruby
    • bash环境执行:which ruby
      返回的第一条结果必须为C:\Ruby31-x64\bin\ruby.exe,如果仍出现RailsInstaller下的ruby路径,重新检查Path条目删除残留,改完重启终端再验证。
  • 重新部署Rails组件
    路径校验通过后执行gem install rails等待安装完成,再执行rails -v即可正常输出版本信息。
  • 异常兜底处理
    如果上述操作后仍报错,执行gem list railties检查当前Ruby环境下的railties安装状态,若返回列表为空,单独执行gem install railties补装对应组件即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 01:51:25