RVM 无法安装 ruby-2.2.4,但可以安装其他(较新)版本



我无法使用RVM安装Ruby 2.2.4版本,但安装文件是2.7.0和2.6.3。我会注意到,当我运行这个命令gem install bundlergem update —-system时,我会得到这个错误:

ERROR:  Loading command: update (LoadError)
cannot load such file -- openssl
ERROR:  While executing gem ... (NoMethodError)
undefined method `invoke_with_build_args' for nil:NilClass

在这被标记为重复问题之前,因为有很多答案可以解决这个确切的问题,它们都是2013年之前发布的答案,因此已经过时了。当我尝试运行他们的解决方案时,rvm会警告我,我正在做的事情被认为是不赞成使用rvm。

值得一提的是,当我尝试安装ruby 2.2.4时,我会收到以下错误:

ruby-2.2.4 - #installing rubygems-3.0.8 - please wait
Error running 'env GEM_HOME=/Users/garcia/.rvm/gems/ruby-2.2.4@global GEM_PATH= /Users/garcia/.rvm/rubies/ruby-2.2.4/bin/ruby -d /Users/garcia/.rvm/src/rubygems-3.0.8/setup.rb --no-document',
please read /Users/garcia/.rvm/log/1583159172_ruby-2.2.4/rubygems.install.log

我已经提交了一份关于RVM回购的发行单,但在过去3天里没有人回应。

感谢您的帮助!

Ruby版本<2.4需要旧的、不安全的OpenSSL 1.0,并且与OpenSSL 1.1不兼容。请查看以下关于如何安装的链接:

brew install rbenv/tap/openssl@1.0

  • RVM:https://github.com/rvm/rvm/issues/4781#issuecomment-608623532
  • rbenv:https://github.com/rbenv/ruby-build/issues/1353#issuecomment-573414540
  • chruby:https://github.com/postmodern/ruby-install/issues/363#issuecomment-580699347
  • asdf已经工作,但也有说明:https://github.com/asdf-vm/asdf-ruby/wiki/Ruby-Installation-Problems

gem install bundler -v '~>1'

您安装了openssl吗?请使用以下命令检查

openssl

不同红宝石的版本之间存在一些兼容性问题。Ruby<2.4与OpenSSL 1.1不兼容,这意味着你应该有OpenSSL 1.0。你必须在文件夹中查找版本1,并检查其文件夹,然后尝试以下命令,我在其中放置了选项--with OpenSSL dir

rvm install ruby-2.2.4 --with-openssl-dir=/usr/local/Cellar/openssl@1.1/1.1.1d

如果你找不到openssl,你可以试试这个,但要小心,因为这个openssl东西很复杂,也会影响其他软件。

brew switch openssl 1.0.2s

请检查此url可能有助于您了解如何修复ruby openssl

最新更新