Windows环境下Rails7.0.4+Ruby3.1.0启动服务器遇sqlite3加载错误求解决
解决Windows下Rails启动时
sqlite3/database加载失败的问题 1. 卸载并重新安装适配版本的sqlite3 gem
Windows环境下默认安装的sqlite3预编译gem常和本地sqlite3库不兼容,需重新安装适配版本:
- 卸载现有sqlite3 gem:
gem uninstall sqlite3,选择卸载所有已安装版本 - 安装适配Ruby 3.1.x的sqlite3版本(推荐1.6.9,兼容性较好):
gem install sqlite3 -v 1.6.9 - 若本地已安装sqlite3 3.49.4,可指定本地库路径编译安装:
替换路径为你实际解压sqlite3压缩包的目录(需包含gem install sqlite3 -v 1.6.9 -- --with-sqlite3-dir="C:\你的sqlite3安装目录"include和lib文件夹)
2. 修正项目依赖配置
- 打开项目根目录的
Gemfile,添加指定版本的sqlite3依赖:gem 'sqlite3', '~> 1.6.9' - 删除
Gemfile.lock文件,执行bundle install重新同步依赖
3. 配置系统环境变量
- 将sqlite3的
bin目录添加到系统PATH环境变量,确保Ruby能找到sqlite3.dll动态链接库 - 重启命令行工具(CMD/PowerShell),再执行
rails server尝试启动服务器
4. 验证RubyDevKit绑定(RubyInstaller安装的Ruby适用)
- 进入RubyDevKit安装目录,依次执行:
ruby dk.rb init ruby dk.rb install - 重新安装sqlite3 gem,让其通过DevKit编译适配本地环境的版本
5. 手动替换sqlite3.dll文件
- 找到sqlite3 gem的安装目录,例如
C:\Ruby31-x64\lib\ruby\gems\3.1.0\gems\sqlite3-1.6.9-x64-mingw32\lib\sqlite3 - 将你下载的sqlite3 3.49.4中的
sqlite3.dll复制到该目录,替换原文件
内容的提问来源于stack exchange,提问作者yumevan
相关产品推荐
相关产品推荐

