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

如何在Windows 10上安装FreeTDS适配Ruby环境?

解决Windows上FreeTDS安装及tiny_tds适配Ruby 2.5的问题

嘿,我之前也在Windows上踩过这个坑,折腾了好久才搞定,给你一套完整的步骤,亲测能解决你的问题!

一、先明确核心问题

你说得没错,tiny_tds并不自带FreeTDS,它是依赖FreeTDS库来连接SQL Server的,所以必须先在Windows上装好FreeTDS,才能顺利安装tiny_tds。而且你用的Ruby 2.5.1不兼容tiny_tds 2.1.1,得装更高版本的tiny_tds才行。

二、FreeTDS安装步骤(两种方法选一种)

方法1:用Chocolatey快速安装(推荐,省事儿)

Chocolatey是Windows的包管理器,类似Mac的Homebrew,一键就能装好:

  • 先以管理员身份打开PowerShell,执行下面的命令安装Chocolatey:
    Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
    
  • 安装完成后,继续在PowerShell里执行:
    choco install freetds -y
    
  • 验证安装:新开一个终端(cmd或PowerShell),输入tsql -C,如果能输出FreeTDS的版本和配置信息,就说明装好了。

方法2:手动安装FreeTDS(适合不想用包管理器的情况)

如果不想用Chocolatey,手动装也不难:

  1. 下载FreeTDS的64位预编译包:找对应Windows x64的稳定版zip包(注意要和你的Ruby架构匹配,你是x64-mingw32,所以必须选64位的),解压到一个没有空格的路径,比如C:\freetds。
  2. 配置环境变量:
    • 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
    • 在「系统变量」里:
      • 新建变量FREETDS_HOME,值设为C:\freetds(就是你刚才解压的路径)
      • 编辑Path变量,添加%FREETDS_HOME%\bin
  3. 验证安装:新开终端输入tsql -C,能输出配置信息就算成功。

三、安装适配Ruby 2.5的tiny_tds

之前你装2.1.1失败是因为这个版本不支持Ruby 2.5+,我们直接装兼容的新版本:

  1. 确保刚才的FreeTDS环境变量已经生效(一定要新开终端!)
  2. 执行gem安装命令,保险起见可以指定FreeTDS的路径:
    gem install tiny_tds -- --with-freetds-dir=C:\freetds
    
    如果用Chocolatey装的FreeTDS,路径一般是C:\ProgramData\chocolatey\lib\freetds\tools,或者直接执行gem install tiny_tds(环境变量生效的话会自动找到)。

四、常见问题排查

  • 如果装gem时提示「找不到FreeTDS」:
    • 检查FREETDS_HOME路径是否正确,Path里有没有加bin目录
    • 重启终端,确保环境变量生效
    • 确认FreeTDS是64位的,和你的Ruby架构一致
  • 如果出现编译错误:
    • 确保你的Ruby环境装了DevKit(RubyInstaller装的Ruby一般自带,要是没装的话,单独下载DevKit后执行ruby dk.rb init和ruby dk.rb install配置一下)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:14:02