Я пытаюсь обновить gem
в моей macOS, но возникает следующая ошибка:
$ RUBYOPT= gem update --system
ERROR: While executing gem ... (NoMethodError)
undefined method `ssl_version=' for #<OpenSSL::SSL::SSLContext:0x007f8561047638>
Did you mean? ssl_timeout=
Вывод gem update
и gem install {package_name}
совпадают.
Выводgem env version
или gem --version
:
3.0.3
Выход openssl version
:
LibreSSL 2.6.5
Как решить проблему?
macOS версия: 10.14.4
Вывод gem env
:
RubyGems Environment:
- RUBYGEMS VERSION: 3.0.3
- RUBY VERSION: 2.4.0 (2016-12-24 patchlevel 0) [x86_64-darwin16]
- INSTALLATION DIRECTORY: /Users/adv/.rvm/gems/ruby-2.4.0
- USER INSTALLATION DIRECTORY: /Users/adv/.gem/ruby/2.4.0
- RUBY EXECUTABLE: /Users/adv/.rvm/rubies/ruby-2.4.0/bin/ruby
- GIT EXECUTABLE: /usr/local/bin/git
- EXECUTABLE DIRECTORY: /Users/adv/.rvm/gems/ruby-2.4.0/bin
- SPEC CACHE DIRECTORY: /Users/adv/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /Users/adv/.rvm/rubies/ruby-2.4.0/etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-16
- GEM PATHS:
- /Users/adv/.rvm/gems/ruby-2.4.0
- /Users/adv/.rvm/rubies/ruby-2.4.0/lib/ruby/gems/2.4.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /Users/adv/.rvm/gems/ruby-2.4.0/bin
- /Users/adv/.rvm/gems/ruby-2.4.0@global/bin
- /Users/adv/.rvm/rubies/ruby-2.4.0/bin
- /Users/adv/.fastlane/bin
- /Library/Frameworks/Python.framework/Versions/3.7/bin
- /usr/local/sbin
- /Users/adv/.rbenv/shims
- /Users/adv/.rvm/bin
- /Users/adv/.fastlane/bin
- /Library/Frameworks/Python.framework/Versions/3.7/bin
- /usr/local/sbin
- /Users/adv/.rbenv/shims
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
- /usr/local/share/dotnet
- /Library/Frameworks/Mono.framework/Versions/Current/Commands
- /Users/adv/android-sdks/platform-tools
- /Users/adv/android-sdks/tools
- /opt/metasploit-framework/bin
- /opt/metasploit-framework/bin
- /Users/adv/android-sdks/platform-tools/
- /Users/adv/android-sdks/tools/
- /opt/metasploit-framework/bin
- /opt/metasploit-framework/bin
Выход which gem
:
/Users/adv/.rvm/rubies/ruby-2.4.0/bin/gem
Выход rbenv versions
:
system
* 2.4.1 (set by /Users/adv/.rbenv/version)
Выход ruby -ropenssl -e "puts OpenSSL::OPENSSL_LIBRARY_VERSION"
:
OpenSSL 1.1.1b 26 Feb 2019
Выходиз rvm list
:
=* ruby-2.4.0 [ x86_64 ]
# => - current
# =* - current && default
# * - default
ОБНОВЛЕНИЕ : после полного удаления rvm
и rbenv
(и перезапуска сеанса терминала) я пытаюсь выполнить gem update
опять же, вот результат:
$ gem update
Updating installed gems
Updating CFPropertyList
Fetching: CFPropertyList-3.0.0.gem (100%)
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.
Я думаю, что теперь он снова использует системный рубин macOS.
Вот несколько выводов:
Вывод gem -v
:
2.5.2.3
Вывод ruby -v
:
ruby 2.3.7p456 (версия 20130-03-28 63024) [унивersal.x86_64-darwin18]
Выход which gem
:
/ usr / bin / gem
Выход which ruby
:
/ usr / bin / ruby
Моя цель - использовать gem
без проблем (установка, обновление и т. Д.).Что мне делать дальше?