Ответ 1
Я решил эту проблему, выполнив следующую команду:
sudo chown -R $USER ~/Library/Caches/CocoaPods
и
sudo chown -R $USER ~/.cocoapods
Пожалуйста, замените username
и groupname
именем пользователя/группой для входа в Mac.
Это короткая версия:
Когда я запустил
pod install
в проекте Xcode я получаю
[!] Pod:: Исполняемая ошибка при выводе: невозможно открыть .git/FETCH_HEAD: Разрешение отклонено
Если я запустил
sudo pod install
Я не получаю ошибки, но мои установленные файлы принадлежат root и не могут скомпилироваться, и я должен chown
этих файлов обычным пользователям использовать компилятор Xcode.
Я запускаю Lion OSX.
Я установил cocoaPods, используя
sudo gem install cocoaPods
Мне пришлось использовать sudo
, потому что без него я получил
ОШИБКА: при выполнении gem... (Gem:: FilePermissionError)
У вас нет прав на запись в каталог /Library/Ruby/Gems/ 1.8.
так что теперь у меня есть установленная root версия cocoaPods, которая загружает корневые библиотеки Xcode.
Является ли sudo
установка cocoaPods неправильным способом или обычным способом?
Если нормальный, есть ли способ исправить проблему установки pod?
Я решил эту проблему, выполнив следующую команду:
sudo chown -R $USER ~/Library/Caches/CocoaPods
и
sudo chown -R $USER ~/.cocoapods
Пожалуйста, замените username
и groupname
именем пользователя/группой для входа в Mac.
Я использовал только (где username
- ваше имя пользователя для входа в Mac)
sudo chown -R username ~/Library/Caches/CocoaPods
и
sudo chown -R username ~/.cocoapods
когда я попытался с параметром groupname, я получил
chown: username.groupname: illegal user name
Конечно, я использовал свое собственное имя пользователя и имя группы:)
Удаление каталогов, работающих для меня:
sudo rm -R ~/Library/Caches/CocoaPods
sudo rm -R ~/.cocoapods/repos
Если некоторые другие проблемы все еще существуют.
Удалите каталог Pods и файл podFile.lock.
Cocoapods просто добавляет каталоги снова.
Проблема заключается в установке Mac OS X по умолчанию Ruby. Установка Ruby/Gems принадлежит root в указанном вами местоположении.
Это нормальное поведение, если вы не установите менеджер Ruby. Я бы рекомендовал rbenv, но RVM является популярным также.
Они установили вашу установку Ruby в папку $HOME
. Таким образом, ваш пользователь владеет исполняемыми файлами Ruby и gem.
Со всеми ошибками, которые я получил при установке CocoaPods в некоторых моих проектах, мне наконец удалось найти шаблон с ним. Вот он:
Доступ к папке проекта с терминала:
$ cd /Users/username/Downloads/MessagesTableViewController-master
Создайте podfile:
$ touch podfile
$ open -e podfile
После создания файла podfile обращайтесь к нему через Finder и редактируйте его в любом другом текстовом редакторе, кроме TextEdit, потому что TextEdit иногда испортил апострофы в файле pod. Я использовал textWrangler. Напишите в файле pod следующее: (Обратите внимание, что эти зависимости для проектов, поддерживающих iOS версии 6.0 и выше)
platform :ios, '6.0'
pod 'AFNetworking'
Сохраните файл и закройте его.
Вернитесь к терминалу и посмотрите версию своего порта:
$ pod --version
В зависимости от версии вашего модуля, если требуется обновление, выполните следующую команду:
$ sudo gem update
После того как обновление завершено или указано, что оно уже обновлено, вы должны установить cocoapods:
$ sudo gem install cocoapods
И в самом конце просто запустите следующие команды:
$ sudo pod setup
$ sudo pod install
И Виола! Сделано. В папке проекта вы увидите папку с именем Pods, а зависимость, указанная вами в файле pod, будет отображаться в папке Pods в виде подпапки.
Счастливое кодирование:)
Быстрое, простое, хакерское решение:
sudo chmod -R 777 ~/.cocoapods
sudo chmod -R 777 ~/Library/Caches/CocoaPods
Отвечая на исходный вопрос:
Is sudo installation of cocoaPods the wrong way or normal way?
Когда я делаю pod install
, я получаю:
Analyzing dependencies
CocoaPods 0.36.0.beta.1 is available.
To update use: `sudo gem install cocoapods --pre`
поэтому я предполагаю, что sudo
в порядке.
Это известная проблема. Там больше на официальном веб-сайте CocoaPods.
Я решил это, установив самую последнюю версию Ruby. Инструкции здесь: https://gorails.com/setup/osx/10.12-sierra Тогда я смог успешно запустить Обновление sudo gem sudo gem install cocoapods