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

Windows10下创建Rails应用遭遇URI::InvalidURIError报错求助

解决Windows 10下Ruby on Rails创建应用时的URI::InvalidURIError错误

错误根源

报错信息URI::InvalidURIError: bad URI(is not URI?): C:\\Ruby\\bin;C:\\sqlite;明确指向DATABASE_URL环境变量被错误配置为系统Path路径的片段。Rails会优先读取该环境变量作为数据库连接地址,但这个值不符合数据库URI格式,导致解析失败。

彻底修复步骤

1. 清理错误的DATABASE_URL环境变量

  • 打开Windows设置,搜索「环境变量」,选择「编辑系统环境变量」
  • 在「系统属性」窗口中点击「环境变量」按钮
  • 在「用户变量」或「系统变量」列表中找到DATABASE_URL:
    • 若该变量存在,直接删除(你的database.yml已正确配置SQLite,无需额外设置此变量)
    • 若需保留,确保其格式符合SQLite URI规范,例如:
      sqlite:///C:/Users/Lies/demo42/db/development.sqlite3
      
      注意路径需使用正斜杠,且格式正确。

2. 检查并整理系统Path变量

  • 同样在环境变量窗口中,找到「Path」变量并点击编辑
  • 保留必要路径条目,确保每个路径独立存在:
    • Ruby安装路径(如C:\Ruby\bin)
    • Git路径(若使用Git)
    • SQLite路径(如C:\sqlite,需单独作为一条目)
  • 删除重复、无效或多余的路径条目,避免Path内容被错误解析为URI。

3. 验证修复效果

  • 关闭所有已打开的命令提示符/终端,重新打开新窗口(确保环境变量生效)
  • 执行命令验证变量状态:
    echo %DATABASE_URL%
    
    无输出则说明变量已删除;若有输出,检查是否为正确的数据库URI。
  • 尝试创建完整Rails应用:
    rails new demo
    
    正常情况下不会再出现URI错误。
  • 进入应用目录,启动服务器验证:
    cd demo
    rails server
    

补充说明

  • 之前使用rails new demo --minimal能创建应用,是因为该参数跳过了部分依赖加载,但核心的数据库配置问题未解决,因此启动服务器仍异常。
  • 你的database.yml配置完全正常,只要清除错误的DATABASE_URL变量,Rails会自动读取该文件中的配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 20:05:19