Вы получаете эту ошибку при запуске без sudo, потому что вы используете то, что некоторые люди называют «системным» ruby на вашем компьютере;это рубин по умолчанию, который поставляется с macOS.Если вы запустите which ruby
, он, скорее всего, будет указывать на /usr/bin/ruby
(если вы не установили rvm
, rbenv
или другой менеджер версий ruby.
По умолчанию системный ruby (который включает в себясистемные gem
и bundler
команды указывают на расположение файла, для установки которого требуется sudo
.
Я рекомендую не запускать sudo для установки гемов, вместо этого установите менеджер версий ruby, напримеркак rvm (самый популярный), rbenv (также популярный выбор) или asdf (мой предпочтительный менеджер версий, потому что он управляет не только ruby, есливы хотите)
После установки диспетчера версий ruby, следуя инструкциям, вы сможете установить более свежую версию ruby (системный ruby - 2.3.7, самая последняя - 2.6.0).Менеджер версий также установит правильные пути для ваших команд gem
и bundle
, указывая пути, на которых у вас есть права на запись без использования sudo
Настоятельно рекомендуется использовать менеджер версий ruby, поскольку он не мешаетWiлюбые системные зависимости, которые могут зависеть от версии системы ruby, и менеджер версий позволяет устанавливать несколько версий ruby и переключаться между ними для разных проектов.