Как установить ruby ​​gem без sudo?

Настройка нового компьютера (Mac OS Mojave - Версия 10.14.2).

После установки ruby ​​с rbenv, Я пытаюсь установить гем и запустить:

gem install rake bundler rspec rubocop pry pry-byebug hub colored octoki

Но это дает мне следующую ошибку:

ERROR:  While executing gem ... (TypeError)
    incompatible marshal file format (can't be read)
    format version 4.8 required; 60.33 given

Вот мой драгоценный камень env:

RubyGems Environment:
  - RUBYGEMS VERSION: 2.7.6
  - RUBY VERSION: 2.5.3 (2018-10-18 patchlevel 105) [x86_64-darwin18]
  - INSTALLATION DIRECTORY: /Users/elise/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0
  - USER INSTALLATION DIRECTORY: /Users/elise/.gem/ruby/2.5.0
  - RUBY EXECUTABLE: /Users/elise/.rbenv/versions/2.5.3/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/elise/.rbenv/versions/2.5.3/bin
  - SPEC CACHE DIRECTORY: /Users/elise/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Users/elise/.rbenv/versions/2.5.3/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-18
  - GEM PATHS:
     - /Users/elise/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0
     - /Users/elise/.gem/ruby/2.5.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - :sources => ["http://gems.rubyforge.org/", "http://gems.github.com"]
     - :benchmark => false
     - "gem" => "--no-document"
  - REMOTE SOURCES:
     - http://gems.rubyforge.org/
     - http://gems.github.com
  - SHELL PATH:
     - /Users/elise/.rbenv/versions/2.5.3/bin
     - /usr/local/Cellar/rbenv/1.1.1/libexec
     - ./bin
     - ./node_modules/.bin
     - /Users/elise/.rbenv/shims
     - /Users/elise/.rbenv/bin
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /usr/local/sbin

Кто-нибудь знает, откуда эта ошибка? Спасибо за помощь.

2 ответа

Решение

У вас есть только очень старые (и не обслуживаемые) удаленные источники драгоценных камней в вашей конфигурации драгоценных камней. Это может быть вызвано какой-то старой перенесенной конфигурацией или выполнением очень старых и устаревших советов.

Чтобы это исправить, сначала нужно удалить устаревшие источники драгоценных камней, а затем добавить единственный, который должен использоваться в настоящее время. Для этого вы можете запустить следующую команду из вашего терминала:

gem sources --remove http://gems.github.com/
gem sources --remove http://gems.rubyforge.org/

gem sources --add https://rubygems.org/

Вы должны удалить все имеющиеся у вас источники драгоценных камней и вместо этого добавить https://rubygems.org/. Обратите внимание, что http://gems.rubyforge.org/ и http://gems.github.com/ окончательно мертвы и должны быть удалены. Вы можете перечислить свои источники, запустив:

gem sources 

Вы должны получить что-то вроде этого:

*** CURRENT SOURCES ***

//gems.rubyforge.org/
//gems.github.com

1) Удалить все источники:

gem sources -r http://gems.rubyforge.org/
gem sources -r http://gems.github.com

2) Добавьте правильный источник:

gem sources -a https://rubygems.org/

Кроме того, никогда sudo gem install

Надеюсь это поможет!

Другие вопросы по тегам