错误:执行gem时…(OpenSSL :: X509 :: StoreError)

我试图以管理员身份将serialport安装到Windows 7中,但我遇到以下错误:

C:\Sites>gem install serialport ERROR: While executing gem ... (OpenSSL::X509::StoreError) 

我尝试了以下内容,但他们没有帮助:

  • OpenSSL :: X509 :: StoreError:cert已经在哈希表中?
  • Ruby在哪里寻找SSL_CERT_FILE?

我试图从网上找到这些解决方案。 但是,它仍然无法工作。 有任何想法吗?

以下是我的电脑的gem环境:

 C:\Sites>gem env RubyGems Environment: - RUBYGEMS VERSION: 2.2.2 - RUBY VERSION: 2.1.5 (2014-11-13 patchlevel 273) [i386-mingw32] - INSTALLATION DIRECTORY: C:/RailsInstaller/Ruby2.1.0/lib/ruby/gems/2.1.0 - RUBY EXECUTABLE: C:/RailsInstaller/Ruby2.1.0/bin/ruby.exe - EXECUTABLE DIRECTORY: C:/RailsInstaller/Ruby2.1.0/bin - SPEC CACHE DIRECTORY: C:/Users/5004118294/.gem/specs - RUBYGEMS PLATFORMS: - ruby - x86-mingw32 C:\Sites>gem which openssl openssl Directory: C:\RailsInstaller\Ruby2.1.0\ruby\2.1.0\openssl.rb 

谢谢

在命令行中尝试这个

 ruby -ropenssl -e 'puts OpenSSL::X509::DEFAULT_CERT_FILE' 

另请参见OpenSSL :: X509 :: StoreError:cert已经在哈希表中? 和SSL错误安装rubygems时,无法从’https://rubygems.org/中提取数据 。

可能是“SSL_CERT_FILE”环境变量是错误的。 只需删除变量并尝试。

为了解决这个错误,我刚在系统环境中添加了SSL_CERT_FILE变量。 类型

sysdm.cpl

在命令提示符下进入系统环境。

在用户变量中,将SSL目录和文件位置设置为已知的ssl证书目录。 我把我设置为Git bash

SSL_CERT_DIR = C:\Program Files\Git\mingw64\ssl\certs

SSL_CERT_FILE = C:\Program Files\Git\mingw64\ssl\cert.pem 在此处输入图像描述

你可以在这里使用这个很棒的工具来检查你是否可以在https上建立连接。 https://github.com/mislav/ssl-tools