为什么找不到文件tiny_tds.so?
我在Windows 10上编写了一个Ruby on Rails应用程序,它在开发中使用SQLite3
,但需要在生产中使用SQLServer
。 我使用的是Ruby 2.3.3和Rails 5.1.4。
我在tiny_tds
包含tiny_tds
和activerecord-sqlserver-adapter
gems并运行'bundle install'
。 这似乎已经成功完成。 然后我运行'rails db:migrate RAILS_ENV=production'
并得到错误'LoadError: cannot load such file -- tiny_tds/tiny_tds'
。
完整的错误消息输出如下。 你能告诉我问题是什么以及我能做些什么来解决它。
$ rails db:migrate RAILS_ENV=production rails aborted! LoadError: cannot load such file -- tiny_tds/tiny_tds c:/Sites/turkeytote/config/application.rb:7:in ' c:/Sites/turkeytote/Rakefile:4:inrequire_relative' c:/Sites/turkeytote/Rakefile:4:in ' bin/rails:4:inrequire' bin/rails:4:in ` ' LoadError: 126: The specified module could not be found. - c:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/tiny_tds-2.1.0-x86-mingw32/lib/tiny_tds/2.3/tiny_tds.so
我最近遇到了这个问题,事实certificate问题是由于Ruby DevKit没有包含在我的Windows系统和用户PATH变量中。
我使用的是http://railsinstaller.org/en中的Windows Ruby 2.3 Rails安装程序,它默认在C:\ RailsInstaller位置安装Ruby(及相关库)。
如果打开命令提示符并浏览到C:\ RailsInstaller \ DevKit,则运行“devkitvars.bat”文件,这将添加PATH变量的相关路径:C:\ RailsInstaller \ DevKit \ bin; C:\ RailsInstaller \的devkit \ MinGW的\ BIN;
执行此操作后,tiny_tds工作,我的rails db:migrate
命令最终成功运行。
注意:这不是永久修复。 要永久修复此问题,您需要实际编辑Windows PATH设置。
设置PATH(在Windows 10和Windows 8上)
- 在搜索中,搜索然后选择:系统(控制面板)
- 单击“高级系统设置”链接。
- 单击“环境变量”。
- 在“系统变量”部分中,找到PATH环境变量并选择它。 单击编辑。 如果PATH环境变量不存在,请单击“新建”。
- 在“编辑系统变量”(或“新建系统变量”)窗口中,指定PATH环境变量的值。
- PATH变量应包含此字符串:“C:\ RailsInstaller \ DevKit \ bin; C:\ RailsInstaller \ DevKit \ mingw \ bin;”
- 单击确定。
- 单击“确定”关闭所有剩余窗口。
- 打开新的命令提示符并键入
path
以确保更改生效。