pra*_*der 14 ruby macos openssl rvm
使用 rvm 安装 ruby-2.1.2 时出错很少。我是 ruby 新手,因此需要帮助。请告诉我
安装日志和其他相关信息在这里:日志
从问题描述中提供的日志来看,我在系统中安装了 ruby 2.1.2。但是,gem list
由于安装错误,尝试列出 gems 时出现错误。更改为 2.1.2 ie 后,rvm use 2.1.2
执行ruby -r openssl -e 'puts OpensSSL::OPENSSL_VERSION'
会出现此错误:
/Users/praveenk.k/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in require': 无法加载此类文件 -- openssl ( LoadError) 来自 /Users/praveenk.k/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in require'
Feu*_*uda 22
工作实例
brew install rbenv/tap/openssl@1.0
rvm install 2.1.2 -C --with-openssl-dir=`brew --prefix openssl@1.0`
Run Code Online (Sandbox Code Playgroud)
它来自https://github.com/rvm/rvm/issues/4819#issuecomment-595644550
Dav*_*dow 16
Ruby <2.4 与 OpenSSL 1.1 不兼容(例如,参见https://github.com/rbenv/ruby-build/issues/1353)。
只是一种预感,但如果您使用的是 Mac + Homebrew,OpenSSL 1.0 最近已被删除,因此任何类似的内容brew upgrade openssl
都会破坏它。
有几种选择可以解决这个问题:
asdf
安装了 LibreSSL 安装了较旧的Ruby(这可能更安全,请参阅https://security.stackexchange.com/questions/112545/what-are-the-main-advantages-of-using-libressl-in-favor-的-openssl):$ openssl
OpenSSL> version
LibreSSL 2.8.3
Run Code Online (Sandbox Code Playgroud)
可能还有比这更简单的事情;如果有人有想法,请随时发表评论或提供替代答案。
编辑
我个人在使用其他一些软件时遇到了这个问题,并发现这解决了它,因为旧的 SSL 版本仍然存在:
brew switch openssl 1.0.2s
Run Code Online (Sandbox Code Playgroud)
只要 Homebrew 没有“帮助”为我清理它就应该工作。
在 mac BigSur 上,我通过以下方式修复了它
$ rvm pkg install openssl
$ rvm install 2.1.2 -C --with-openssl-dir=$HOME/.rvm/usr
Run Code Online (Sandbox Code Playgroud)
或者你也可以尝试
$ rvm pkg install openssl
$ CFLAGS="-Wno-error=implicit-function-declaration" rvm install 2.1.2 -C --with-openssl-dir=$HOME/.rvm/usr
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10202 次 |
最近记录: |