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

安装SQL Adapter与tiny_tds Gem时遇‘could not load hiredis extension’警告

Rails连接MS SQL Server:tiny_tds安装失败及LoadError解决方法

问题核心

安装tiny_tds和activerecord-sqlserver-adapter时出现LoadError(无法加载tiny_tds相关文件),同时出现的hiredis警告属于无关干扰项,无需优先处理。

解决步骤

  • 安装系统依赖FreeTDS
    tiny_tds依赖FreeTDS库实现SQL Server连接,必须先完成安装:

    • Windows:用Chocolatey执行 choco install freetds,或从FreeTDS官网下载安装包,确保安装路径添加到系统环境变量PATH
    • macOS:通过Homebrew执行 brew install freetds
    • Debian/Ubuntu:执行 sudo apt-get install freetds-dev freetds-bin
    • RHEL/CentOS:执行 sudo yum install freetds-devel freetds
  • 重新安装tiny_tds(指定依赖路径,若自动检测失败)
    如果系统无法自动识别FreeTDS位置,手动指定路径安装:

    • macOS/Linux:gem install tiny_tds -v '2.0.0' -- --with-freetds-dir=$(brew --prefix freetds)(针对Homebrew安装的FreeTDS)
    • 所有环境:完成依赖安装后,重新执行 bundle install
  • 验证版本兼容性
    tiny_tds 2.0.0支持Ruby 3.0.x,但如果仍有问题,可尝试升级到最新兼容版本,修改Gemfile:

    gem 'tiny_tds', '~>2.1.5'
    

    再执行bundle update tiny_tds

  • 排查LoadError其他原因

    • 执行bundle exec rails console,手动执行require 'tiny_tds',查看具体错误信息定位问题
    • Windows环境需确保Ruby的MSYS2/DevKit组件已正确安装,执行ridk install完成必要编译组件配置

关于hiredis警告

该警告来自redis gem(与tiny_tds无关),提示无法加载hiredis扩展,将使用纯Ruby实现。若项目未用到redis,可检查Gemfile移除相关依赖;若需要redis,安装hiredis系统依赖后重新安装redis gem即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 08:30:23