Я бы закрыл и снова открыл окно вашего терминала, прежде чем начать все это, чтобы убедиться, что у вас не загружены старые env-переменные.
Общие вещи:
- Выполнить
env | grep RUBY
, env | grep RVM
и найдите все оставшиеся переменные окружения, которые вы могли установить - То же самое для
env | grep GEM
.Иногда вы увидите GEM_PATH
, GEM_HOME
и т. Д., Но это не обязательно для системного ruby - Загляните в свои файлы
~/.bash_profile
, ~/.bashrc
и ~/.profile
и посмотрите,Вы добавили любой rvm материал
Если вы используете MacOS Mojave (я сравниваю с моей системой):
which ruby
должен вернуть /usr/bin/ruby
.Если это не так, у вас есть что-то еще мешает.Напишите, что это такое, и мы сможем исправить это.
Запуск /usr/bin/ruby --version
должен вернуть ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]
Разрешения для системного рубина:
-r-xr-xr-x 1 root wheel 52016 Nov 30 02:38 /usr/bin/ruby
Это должно быть что-токак sudo chmod 555 /usr/bin/ruby
чтобы исправить это, если у вас разница.Если у вас есть разные владельцы, вам нужно будет sudo chown root:wheel /usr/bin/ruby
Вы также захотите проверить which gem
и посмотреть, выдаст ли он /usr/bin/gem
.Разрешения должны быть такими же, как /usr/bin/ruby
./usr/bin/gem --version
должен вернуть 2.5.2.3
Запуск /usr/bin/gem env
должен вернуть что-то похожее ниже.Замените jay
(пользователь моего компьютера) на ваш
RubyGems Environment:
- RUBYGEMS VERSION: 2.5.2.3
- RUBY VERSION: 2.3.7 (2018-03-28 patchlevel 456) [universal.x86_64-darwin18]
- INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.3.0
- USER INSTALLATION DIRECTORY: /Users/jay/.gem/ruby/2.3.0 # this doesn't matter much
- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
- EXECUTABLE DIRECTORY: /usr/local/bin
- SPEC CACHE DIRECTORY: /Users/jay/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /Library/Ruby/Site
- RUBYGEMS PLATFORMS:
- ruby
- universal-darwin-18
- GEM PATHS:
- /Library/Ruby/Gems/2.3.0
- /Users/jay/.gem/ruby/2.3.0
- /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/gems/2.3.0
- GEM CONFIGURATION:
- :update_sources => false
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- :sources => ["https://rubygems.org/"]
- "benchmark" => true
- "gem" => "--document=yri"
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /usr/local/bin
- /Users/jay/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
- /opt/X11/bin
Оттуда у вас есть две директории, на которые вы, вероятно, захотите посмотреть:
Run ls -al /Library/Ruby/
.Вы должны увидеть это:
drwxr-xr-x 3 root wheel 96 Aug 17 18:59 Gems
drwxr-xr-x 3 root wheel 96 Aug 17 18:59 Site
Возможно, вам понадобится chmod / chown для каждого из этих каталогов (с -R
для рекурсивного)
Когда вы закончите, обратите внимание, что запуск /usr/bin/gem install bundler
и gem install bundler
(при условии, что вы не установили новый менеджер версий ruby) должны выдавать ошибку, как показано ниже (это означает, что вы правильно настроили разрешения).
Fetching: bundler-1.17.2.gem (100%)
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.
Вы увидитев некоторых руководствах упоминается изменение этих разрешений или запуск sudo для установки гемов, но я не рекомендую этого делать.Мой любимый менеджер версий ruby - asdf , который стоит посмотреть.Вы установите ядро и плагин ruby .
. Это должно немного приблизить вас.Если вы видите что-то еще испорченное, пожалуйста, опубликуйте сообщение об ошибке.