ruby - 使用 RVM 修复 Mac OS Sierra 上未初始化的常量 OpenSSL::Digest::DSS

标签 ruby openssl rvm

我刚刚在我的 Mac (High Sierra) 上解决了一个棘手的问题,并想分享,以便其他人可以比我更快地解决它。

当尝试使用任何使用 Net::SSH 的 Ruby gem 时,特定错误是未初始化常量 OpenSSL::Digest::DSS。在我的例子中,Net::SFTP gem 不会连接到任何服务器。

起初我尝试了bundle update net-ssh,但没有解决问题。

然后我决定这可能是一个 Ruby 问题并且 openssl 没有正确链接。

最佳答案

我花了一段时间才弄好,但最终以下方法奏效了:

rvm reinstall 2.4.2 --with-openssl-dir="$(brew --prefix openssl)"

重新安装需要一段时间,因为 rvm 将运行 rvm pristine,但完成后只需再次运行 bundle install 就可以了。

要验证,只需通过 irbrails console 打开您的控制台并输入:

OpenSSL::Digest::DSS

完成后该模块应该存在。

关于ruby - 使用 RVM 修复 Mac OS Sierra 上未初始化的常量 OpenSSL::Digest::DSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49286361/

相关文章:

php - 如何在 PHP 中创建数字证书并导出到 .p12 文件?

ruby - 无法在 OSX 10.10 Yosemite 上的 RVM 中安装 ruby​​ 1.9.2

java - Jenkins/Java 间歇性无法使用 rvm 插件找到 rake

ruby-on-rails - 在 Ruby on Rails 中的 MongoDB 中搜索两个条件

ruby - 包含子目录作为 Jekyll 的帖子 URL 的一部分

c - ARM9交叉编译错误

ruby-on-rails - NameError:未初始化的常量 ActionController::Dispatcher

ruby - 使用 Shoes 的 download() 做基本的 HTTP 认证

Ruby - 搜索并收集所有目录中的文件

cryptography - 如何使用 OpenSSL 计算 RSA-SHA1(sha1WithRSAEncryption) 值