我正在尝试在我的ruby代码中设置ENV[SSL_CERT_FILE]
。但是,似乎我将此变量设置为只有在OpenSSL
之前设置的某个任意gem加载时才会生效。
例如,以下是我正在使用的gem中的一段示例代码:
require 'adal' # https://github.com/AzureAD/azure-activedirectory-library-for-ruby
ENV['SSL_CERT_FILE'] = 'path/to/pem/file.pem'
以上内容将丢弃我设置的ENV['SSL_CERT_FILE']
,大概是因为OpenSSL
在设置环境变量之前加载了(它被加载到adal
gem中)。
然而,这有效:
ENV['SSL_CERT_FILE'] = 'path/to/pem/file.pem'
require 'adal'
这是一个简单的例子。无法使用此解决方案。
我也无法设置系统变量 - 这是我为我的公司构建的一个宝石,许多开发人员将使用它,如果我避免让他们下载cacert.pem
文件并设置一个系统变量指向它是最好的它。
这个问题还有其他解决方案吗?