Не могу установить упаковщик используя gem

4

Я пытаюсь установить Bundler на мой Mac, на котором установлена ​​OS X El Capitan Public Beta 6 (15A278b).

Я пытаюсь, sudo gem install bundlerно получаю следующую ошибку

ОШИБКА: во время выполнения gem ... (Errno: EPERM)
Операция не разрешена - / usr / bin / bundle

Оскар Перссон
источник
Кажется, как будто вам нужно отключить root. Поскольку вы используете бета-версию программного обеспечения, процедура может измениться, но вы можете попробовать sudo nvram boot-args="rootless=0";sudo reboot.
fd0
Все еще не работает
Оскар Перссон
1
Вам нужно будет отключить root, чтобы я зашел в Recovery HD и выключил его.
At0mic

Ответы:

0
  1. Загрузитесь в Recovery HD, перезапустив, удерживая ⌘R.
  2. Откройте Терминал (из меню Утилиты).
  3. Выполните следующую команду в Терминале:

    csrutil disable
    
  4. Запустить снова.

Источник: Пакет несовместим с этой версией OS X

Grg
источник
Борьба с практикой безопасности Apple, отключив ее оптом, является проигрышной и непродуктивной. Bundler рекомендует -n /usr/local/binустановить gem сейчас, как и большинство других активных проектов ruby.
жертвоприношение
3

Для дальнейшего использования используйте более новую версию пакета - отключение основной функции безопасности операционной системы является плохой идеей и сделает вашу машину уязвимой.

court3nay
источник
Вы можете снова включить SIP после завершения установки. SIP не существовал в предыдущих версиях OS X, поэтому вы не создаете огромную дыру в безопасности.
grg
2

Используйте rbenv (или rvm, если хотите, я не хочу). Если вам когда-либо придется использовать sudoпри установке / обновлении драгоценного камня, то вы идете к неприятностям, если их еще нет.

Kashyap
источник
0

Я предпочитаю никогда не отключать SIP, так что вот еще один способ установить гем компоновщика без необходимости возиться с ограниченными правами доступа к файлам и дважды перезагрузиться.

sudo mkdir -p /usr/local/bin/rubygems
sudo chown user:group /usr/local/bin/rubygems
export GEM_HOME=/usr/local/rubygems/
gem install bundler

Теперь вы, вероятно, захотите экспортировать переменную GEM_HOME в файл оболочки или создать файл конфигурации для gem . Вам непременно нужно изменить пользователя и группу, чтобы chownкоманда стала вашим пользователем.

Если это не отвечает вашим потребностям, настройка инструмента управления средой ruby также +1 в моей книге .

bmike
источник