Операция обновления/установки gem не разрешена, поскольку el capitan. как установить путь по умолчанию

Кто-нибудь знает, почему после обновления до Mac OS El Capitan gem начал выдавать ошибки для команд install или update?

Пример:


$ sudo gem update
Password:
Updating installed gems
Updating bundler
ERROR:  While executing gem ... (Errno::EPERM)
  Operation not permitted - /usr/bin/bundle

По какой-то причине путь должен быть указан явно. Пример:


$ sudo gem install -n /usr/local/bin sass
Password:
Fetching: sass-3.4.19.gem (100%)
Successfully installed sass-3.4.19
Parsing documentation for sass-3.4.19
Installing ri documentation for sass-3.4.19
Done installing documentation for sass after 6 seconds
1 gem installed

Это довольно раздражает! Есть ли способ сделать /usr/local/bin по умолчанию?


person Kim Hogeling    schedule 15.10.2015    source источник
comment
Рекомендуемое чтение для тех, кто находит этот вопрос операция gem errnoeperm не разрешена"> stackoverflow.com/questions/32891965/   -  person JGallardo    schedule 08.11.2015


Ответы (3)


Имея те же проблемы, нашел это:

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

источник: https://georgegarside.com/blog/osx/package-incompiler-installer/

person skeltont    schedule 15.10.2015
comment
Я ничего не знал об OS X El Capitan Rootless. Спасибо за объяснение и действия по отключению. Я не хотел отключать его, но он работал как шарм! - person Kim Hogeling; 20.10.2015
comment
Это чрезвычайно опасно и должно сопровождаться предупреждениями о том, что эта операция отключает важную функцию безопасности OS X. - person eyelidlessness; 20.10.2015
comment
Да, @eyelidless вот статья, рекомендующая не снимать его. Я должен был предоставить больше справочной информации. howtogeek.com/230424/ - person skeltont; 20.10.2015
comment
При перезагрузке есть 4 варианта. Где было это меню утилит? - person JGallardo; 08.11.2015

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

В моем случае у меня была проблема с компасом и была та же ошибка, которую я ввел в свой поиск, и Google привел меня сюда. я побежал

sudo gem install -n /usr/local/bin compass

Но если вы делаете новую установку на новый компьютер. Убедитесь, что у вас установлен bash. Вот краткая расшифровка того, что я сделал.

введите здесь описание изображения

person JGallardo    schedule 08.11.2015

Если вы используете доморощенный, есть еще одно решение, которое вы можете попробовать в приведенных ниже командах. Это включает в себя установку доморощенной версии Ruby. Это устранило проблему для меня, хотя я плохо разбираюсь в Unix. Поэтому я не могу говорить о том, насколько мудро или неразумно давать себе право собственности на /usr/local. Может быть, эксперт по Unix сможет сюда вмешаться.

$ sudo chown -R $(whoami):admin /usr/local
$ brew update
$ brew install ruby

Источник: http://www.hacksparrow.com/os-x-el-capitan-screwed-up-ruby-gems-and-how-to-fix-it.html

person Dave Munger    schedule 29.11.2015