我刚刚在我的 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
就可以了。
要验证,只需通过 irb
或 rails console
打开您的控制台并输入:
OpenSSL::Digest::DSS
完成后该模块应该存在。
关于ruby - 使用 RVM 修复 Mac OS Sierra 上未初始化的常量 OpenSSL::Digest::DSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49286361/