安装sqlite3时出错,找不到公钥环



怎么了?如何安装?

PS C:\Users\luism>gem安装sqlite3暂时增强MSYS/MINGW的路径。。。正在安装所需的msys2软件包:mingw-w64-x86_64-sqlite3警告:未找到公钥环;你运行过"pacman-key-init"吗?错误:mingw32:key"AD351C50AE085775EB59333B5F92EFC1A47D45A1";未知错误:密钥环不可写错误:mingw64:key";AD351C50AE085775EB59333B5F92EFC1A47D45A1";未知错误:密钥环不可写错误:msys:key";AD351C50AE085775EB59333B5F92EFC1A47D45A1";未知错误:密钥环不可写错误:数据库"mingw32"无效(数据库(PGP签名(无效或损坏(错误:数据库"mingw64"无效(数据库(PGP签名(无效或损坏(错误:数据库"msys"无效(数据库(PGP签名(无效或损坏(pacman失败,输出如下:正在构建本机扩展。这可能需要一段时间。。。错误:安装sqlite3时出错:错误:无法构建gem本机扩展。

current directory: C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/sqlite3-1.4.2/ext/sqlite3

C:/Ruby26-x64/bin/ruby.exe-I C:/Ruby24-x64/lib/ruby/2.6.0-r/siteconf20200718-41156-1cxffc.rb extconf.rb正在检查sqlite3.h…否sqlite3.h丢失。从安装SQLite3http://www.sqlite.org/第一***extconf.rb失败***由于某些原因,无法创建Makefile,可能缺少必要的库和/或标头。有关详细信息,请查看mkmf.log文件。你可以需要配置选项。

提供的配置选项:--带opt-dir--不带opt-dir--带有opt-include--不带opt-include=${opt-dir}/include--使用opt-lib--不带opt-lib=${opt-dir}/lib--使用make prog--没有make prog--srcdir=。--curdir--ruby=C:/Ruby26-x64/bin/$(ruby_BASE_NAME(--使用sqlcipher--没有sqlcipher--带-sqlite3-config--不带sqlite3-config--使用pkg配置--不带pkg配置--使用sqlcipher--没有sqlcipher--带-sqlite3-dir--不带sqlite3-dir--带-sqlite3-include--without-sqlite3-include=${sqlite3-dir}/include--带-sqlite3-lib--without-sqlite3-lib=${sqlite3-dir}/lib

要了解此扩展无法编译的原因,请查看mkmf.log,它可以在以下位置找到:

C:/Ruby26-x64/lib/ruby/gems/2.6.0/extensions/x64-ming32/2.6.0/sqlite3-1.4.2/kmf.log

extconf失败,退出代码1

因此,带有MSYS2的Ruby DevKit 2.6.6-1-x64的新安装在默认情况下肯定会被破坏。

我想修复PGP问题,启动可以在中找到的mingw64 shell/Ruby26-x64/msys2/目录,并通过执行以下行重置pacman密钥库:

rm -r /etc/pacman.d/gnupg/
pacman-key --init
pacman-key --populate msys2

现在,您应该能够在没有错误的情况下安装导轨。

实际上,@godsim解决方案确实有效,但msys2网站提供了一系列可能的其他解决方案以及说明。它们在这里:

curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig
pacman-key --verify msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig

===>正在检查msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig…(已分离(gpg:签名于2020年6月29日星期一07:36:14 CESTgpg:使用DSA密钥AD351C50AE085775EB59333B5F92EFC1A47D45A1gpg:来自";阿列克谢·帕夫洛夫(Alexpux(alexpux@gmail.com"[完整]

pacman -U msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz

这还不够。这是一条对我有用的线路:

pacman -U --config <(echo) msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz

最后,如果这没有奏效,@godsim的解决方案将被尝试。

最新更新