Как установить 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
Надеюсь это поможет!