Cocoa Подписки, не обновляющие стручки на El Capitan
Я обновился до El Capitan, и с тех пор я не могу обновлять свои контейнеры.
$ pod update
-bash: pod: command not found
Итак, я попытался переустановить CocoaPods и получил следующее:
$ sudo gem install cocoapods
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/xcodeproj
Я являюсь администратором этого компьютера. Почему это происходит?
Ответы
Ответ 1
Это вызвано новой функцией защиты целостности системы, представленной в El Capitan. Это ограничивает даже администраторов от записи в /usr/bin
.
Лучшим вариантом будет установка драгоценных камней без необходимости sudo
. Есть хорошее руководство о том, как это сделать:
export GEM_HOME=$HOME/.gem
export PATH=$GEM_HOME/bin:$PATH
gem install cocoapods
Ответ 2
От Проблемы с CocoaPods 3736
-
Удалите все экземпляры cocopods (просто чтобы быть в безопасности и сохранить чистоту) см. полностью удалить Cocoapods
sudo gem uninstall cocoapods
или даже лучше полностью удалить все компоненты (и выбрать все версии для каждого)
gem list --local | grep cocoapods | awk '{print $1}' | xargs sudo gem uninstall
-
Установить снова
sudo gem install -n /usr/local/bin cocoapods
-
Изменить разрешение доступа
sudo chmod +rx /usr/local/bin/
Ответ 3
Это должно работать для вас
sudo gem install -n /usr/local/bin cocoapods
По какой-то причине бесполезные вещи кажутся менее строгими, когда кто-то просто обновляет систему. Я мог бы sudo gem установить cocoapods просто отлично на машине, обновленной с 10.10 - однако binstubs больше не устанавливаются в /usr/bin:
$ sudo gem install cocoapods
[...]
1 gem installed
$ export PATH=$PATH:/Library/Ruby/bin
$ pod --version
0.37.2
Мы слышали от некоторых пользователей, что они получают эту ошибку при выполнении общесистемной установки:
ERROR: While executing gem... (Errno::EPERM) Operation not permitted -/usr/bin/pod
Мы не уверены, почему gem ведет себя по-разному в некоторых системах, но это можно решить, передав -n/usr/local/bin
команде install, чтобы исполняемый файл pod был там установлен.
Ответ 4
Относительно исходного вопроса/проблемы:
$ sudo gem install cocoapods
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted
Я обнаружил, что у меня была такая же проблема с несколькими GEMS, поэтому я обобщил признанный ответ (Keith Smiley), чтобы обновить ВСЕ локальные драгоценные камни... (на El Capitan без корней)
$ sudo gem install cocoapods -n /usr/local/bin/ # this command installs
$ sudo gem update -n /usr/local/bin/ # this command updates all local gems
Это хорошо работает и выплюнет подробный журнал всех обновлений и ошибок.
Я видел много ошибок. Все они были "неспособны преобразовать" ошибки. Разбор многих документов столкнется с ошибкой "пропуская"... вот так:
$ unable to convert "\xCF" from ASCII-8BIT to UTF-8 for lib/jazzy... skipping
Я считаю, что эти ошибки пропуска не являются проблемами.
CocoaPods будет обновляться во время этого процесса вместе со всеми другими локальными GEMS, в зависимости от того, насколько актуальны ваши локальные GEMS. Я считаю, что это лучший способ справиться с проблемой без корней (что является причиной проблемы).
Ответ 5
Ваш лучший вариант для установки Pods для пользовательской и стандартной установки
См. Ссылку: https://github.com/CocoaPods/CocoaPods/issues/3692
![введите описание изображения здесь]()
Ответ 6
Вы снова установили инструменты командной строки Xcode? Это решило мою проблему. Вам нужно выбрать инструмент командной строки в настройках Xcode (локации) и установить cocoa pods.
Ответ 7
Для меня это сработало с:
sudo gem install -n/usr/local/bin cocoapods --pre