使用 RVM 修复 Mac OS Sierra 上未初始化的常量 OpenSSL::Digest::DSS
Fixing uninitialized constant OpenSSL::Digest::DSS on Mac OS Sierra with RVM
我刚刚在我的 Mac (High Sierra) 上解决了一个难题,我想分享一下,以便其他人可以比我更快地解决它。
当尝试使用任何使用了 Net::SSH 的 Ruby gem 时,具体错误是 uninitialized constant 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
完成后该模块应该存在。
我刚刚在我的 Mac (High Sierra) 上解决了一个难题,我想分享一下,以便其他人可以比我更快地解决它。
当尝试使用任何使用了 Net::SSH 的 Ruby gem 时,具体错误是 uninitialized constant 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
完成后该模块应该存在。