我正在尝试在滑轨上做一个新的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
答案 0 :(得分:0)
似乎新的sqlite 1.4.0 gem有一些问题。 https://github.com/rails/rails/issues/35153
改为使用此版本。 gem'sqlite3','〜> 1.3.6'
答案 1 :(得分:0)
谢谢大家。 毕竟,我遵循了Max的建议,所以我改用了postgres,并且运行良好。