轨道上的红宝石所需的sqlite3版本错误

时间:2019-03-08 17:39:02

标签: ruby-on-rails sqlite

我正在尝试在滑轨上做一个新的ruby,直到它想要安装sqlite3为止,一切都进行得很顺利-我确实已经安装了它,并且在cmd中询问时可以识别它,但是错误要求使用其他版本。试图安装该版本,但没有成功。 我从互联网上尝试了许多其他方法,但无法使其正常工作。 我是一个尝试学习的新手。

安装带有本机扩展的sqlite3 1.4.0 Gem :: Ext :: BuildError:错误:无法构建gem本机扩展。

当前目录: C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/sqlite3-1.4.0/ext/sqlite3 C:/Ruby25-x64/bin/ruby.exe -r ./siteconf20190308-12720-15tc5du.rb extconf.rb 正在检查sqlite3.h ...是 检查-lpthread中的pthread_create()...是 正在检查-ldl ...否 检查dlopen()...否 缺少函数dlopen * extconf.rb失败* 由于某些原因(可能缺少必要)而无法创建Makefile 库和/或标题。检查mkmf.log文件以获取更多详细信息。你可以 需要配置选项。

提供的配置选项:         --with-opt-dir         --without-opt-dir         --with-opt-include         --without-opt-include = $ {opt-dir} / include         --with-opt-lib         --without-opt-lib = $ {opt-dir} / lib         --with-make-prog         --with-make-prog         --srcdir =。         --curdir         --ruby = C:/ Ruby25-x64 / bin / $(RUBY_BASE_NAME)         --with-sqlcipher         --without-sqlcipher         --with-sqlite3-config         --without-sqlite3-config         --with-pkg-config         --without-pkg-config         --with-sqlcipher         --without-sqlcipher         --with-sqlite3-dir         --without-sqlite3-dir         --with-sqlite3-include         --without-sqlite3-include = $ {sqlite3-dir} / include         --with-sqlite3-lib         --without-sqlite3-lib = $ {sqlite3-dir} / lib         --with-pthreadlib         --without-pthreadlib         --with-dllib         --without-dllib

要查看此扩展为何无法编译,请检查mkmf.log,该文件可以 在这里找到:

C:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/sqlite3-1.4.0/mkmf.log

extconf失败,退出代码1

宝石文件将继续安装在 C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/sqlite3-1.4.0进行检查。 结果记录到 C:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/sqlite3-1.4.0/gem_make.out

在安装sqlite3(1.4.0)时发生错误,并且Bundler无法继续。 确保gem install sqlite3 -v '1.4.0' --source 'https://rubygems.org/' 捆绑前成功。

在Gemfile中:   sqlite3

安装所需版本

gem安装sqlite3 -v 1.4.0 暂时增强MSYS / MINGW的PATH ... 安装所需的msys2软件包:mingw-w64-x86_64-sqlite3 构建本机扩展。这可能需要一段时间... 错误:安装sqlite3时出错:         错误:无法构建gem本机扩展。

current directory: C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/sqlite3-1.4.0/ext/sqlite3

C:/Ruby25-x64/bin/ruby.exe -r ./siteconf20190308-5276-1djiqig.rb extconf.rb 正在检查sqlite3.h ...是 检查-lpthread中的pthread_create()...是 正在检查-ldl ...否 检查dlopen()...否 缺少函数dlopen * extconf.rb失败* 由于某些原因(可能缺少必要)而无法创建Makefile 库和/或标题。检查mkmf.log文件以获取更多详细信息。你可以 需要配置选项。

提供的配置选项:         --with-opt-dir         --without-opt-dir         --with-opt-include         --without-opt-include = $ {opt-dir} / include         --with-opt-lib         --without-opt-lib = $ {opt-dir} / lib         --with-make-prog         --with-make-prog         --srcdir =。         --curdir         --ruby = C:/ Ruby25-x64 / bin / $(RUBY_BASE_NAME)         --with-sqlcipher         --without-sqlcipher         --with-sqlite3-config         --without-sqlite3-config         --with-pkg-config         --without-pkg-config         --with-sqlcipher         --without-sqlcipher         --with-sqlite3-dir         --without-sqlite3-dir         --with-sqlite3-include         --without-sqlite3-include = $ {sqlite3-dir} / include         --with-sqlite3-lib         --without-sqlite3-lib = $ {sqlite3-dir} / lib         --with-pthreadlib         --without-pthreadlib         --with-dllib         --without-dllib

要查看此扩展为何无法编译,请检查mkmf.log,该文件可在此处找到:

C:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/sqlite3-1.4.0/mkmf.log

extconf失败,退出代码1

宝石文件将保持安装在C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/sqlite3-1.4.0中进行检查。 结果记录到C:/Ruby25-x64/lib/ruby/gems/2.5.0/extensions/x64-mingw32/2.5.0/sqlite3-1.4.0/gem_make.out

2 个答案:

答案 0 :(得分:0)

似乎新的sqlite 1.4.0 gem有一些问题。 https://github.com/rails/rails/issues/35153

改为使用此版本。 gem'sqlite3','〜> 1.3.6'

答案 1 :(得分:0)

谢谢大家。 毕竟,我遵循了Max的建议,所以我改用了postgres,并且运行良好。