CocoPods pod install Разрешение отклонено

Это короткая версия:

Когда я запустил

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?

Ответ 1

Я решил эту проблему, выполнив следующую команду:

sudo chown -R $USER ~/Library/Caches/CocoaPods

и

sudo chown -R $USER ~/.cocoapods

Пожалуйста, замените username и groupname именем пользователя/группой для входа в Mac.

Ответ 2

Я использовал только (где username - ваше имя пользователя для входа в Mac)

sudo chown -R username ~/Library/Caches/CocoaPods

и

sudo chown -R username ~/.cocoapods

когда я попытался с параметром groupname, я получил

chown: username.groupname: illegal user name

Конечно, я использовал свое собственное имя пользователя и имя группы:)

Ответ 3

Удаление каталогов, работающих для меня:

sudo rm -R  ~/Library/Caches/CocoaPods
sudo rm -R  ~/.cocoapods/repos

Если некоторые другие проблемы все еще существуют.

Удалите каталог Pods и файл podFile.lock.

Cocoapods просто добавляет каталоги снова.

Ответ 4

Проблема заключается в установке Mac OS X по умолчанию Ruby. Установка Ruby/Gems принадлежит root в указанном вами местоположении.

Это нормальное поведение, если вы не установите менеджер Ruby. Я бы рекомендовал rbenv, но RVM является популярным также.

Они установили вашу установку Ruby в папку $HOME. Таким образом, ваш пользователь владеет исполняемыми файлами Ruby и gem.

Ответ 5

Со всеми ошибками, которые я получил при установке 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 в виде подпапки.

Счастливое кодирование:)

Ответ 6

Быстрое, простое, хакерское решение:

sudo chmod -R 777 ~/.cocoapods
sudo chmod -R 777 ~/Library/Caches/CocoaPods

Ответ 7

Отвечая на исходный вопрос:

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 в порядке.

Ответ 9

Я решил это, установив самую последнюю версию Ruby. Инструкции здесь: https://gorails.com/setup/osx/10.12-sierra Тогда я смог успешно запустить Обновление sudo gem sudo gem install cocoapods