webentwicklung-frage-antwort-db.com.de

cocoaPods pod install Berechtigung verweigert

Dies ist die kurze Version:

Wenn ich renne 

pod install 

in einem Xcode-Projekt bekomme ich 

[!] Pod :: Fehler beim Abziehen der Datei: .git/FETCH_HEAD: .__ kann nicht geöffnet werden. Zugang verweigert

Wenn ich renne

Sudo pod install

Ich erhalte keine Fehlermeldung, aber meine installierten Dateien gehören root und können nicht kompiliert werden. Ich muss diese Dateien an einen normalen Benutzer chown übergeben, um den Xcode-Compiler verwenden zu können.

Ich verwende Lion OSX.

Ich habe cocoaPods mit installiert

Sudo gem install cocoaPods

Ich musste Sudo verwenden, weil ich es ohne bekommen habe 

FEHLER: Beim Ausführen von gem ... (Gem :: FilePermissionError)

Sie haben keine Schreibberechtigung für das Verzeichnis /Library/Ruby/Gems/1.8.

jetzt habe ich eine root-Version von cocoaPods, die root-eigene Xcode-Bibliotheken herunterlädt.

Ist Sudo die Installation von cocoaPods falsch oder normal?

Gibt es eine Möglichkeit, das Pod-Installationsproblem zu beheben, wenn dies normal ist?

49
godzilla

Ich habe dieses Problem durch Ausführen des folgenden Befehls gelöst:

Sudo chown -R username:groupname ~/Library/Caches/CocoaPods

und

Sudo chown -R username:groupname ~/.cocoapods

Ersetzen Sie username und groupname durch Ihren Mac-Anmeldenamen/Gruppennamen.

94
jianpx

Ich habe nur verwendet (wobei username Ihr Mac-Login-Benutzername ist)

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

und

Sudo chown -R username ~/.cocoapods

als ich es mit dem Gruppennamen-Parameter versuchte, bekam ich

chown: username.groupname: illegal user name

Natürlich habe ich meinen eigenen Benutzernamen und Gruppennamen verwendet :)

19

Die für mich funktionierenden Verzeichnisse entfernen:

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

Wenn noch andere Probleme bestehen. 

Entfernen Sie das Pods-Verzeichnis und die Datei podFile.lock. 

Cocoapods fügt die Verzeichnisse einfach wieder hinzu. 

11
Martijn Mellens

Das Problem liegt bei der Standardinstallation von Ruby von Mac OS X. Die Ruby/Gems-Installation gehört root an dem von Ihnen angegebenen Speicherort. 

Dies ist ein normales Verhalten sofern nicht Sie installieren einen Ruby-Manager. Ich würde empfehlen, dass rbenv aber RVM auch beliebt ist. 

Diese installierten Ihre Ruby-Installation in Ihrem $HOME-Ordner. Auf diese Weise besitzt Ihr Benutzer die ausführbaren Dateien Ruby und gem.

4
Keith Smiley

Mit all den Fehlern, die ich bei der Installation von CocoaPods in einigen meiner Projekte bekam, ist es mir endlich gelungen, ein Muster zu finden. Hier ist es:

  1. Greifen Sie vom Terminal aus auf Ihren Projektordner zu:

    $ cd /Users/username/Downloads/MessagesTableViewController-master
    
  2. Erstellen Sie eine Poddatei:

    $ touch podfile
    $ open -e podfile
    
  3. Nachdem die Pod-Datei erstellt wurde, können Sie über den Finder darauf zugreifen und sie in einem anderen Texteditor außer TextEdit bearbeiten, da TextEdit manchmal Apostrophe in der Pod-Datei stört. Ich habe TextWrangler verwendet. Schreiben Sie Folgendes in die Pod-Datei. (Beachten Sie, dass diese Abhängigkeiten für Projekte gelten, die iOS Version 6.0 und höher unterstützen.)

    platform :ios, '6.0'
    pod 'AFNetworking'
    
  4. Speichern Sie die Datei und schließen Sie sie. 

  5. Gehen Sie zurück zum Terminal und sehen Sie Ihre Pod-Version:

    $ pod --version
    

    Führen Sie je nach Pod-Version den folgenden Befehl aus, wenn ein Update erforderlich ist:

    $ Sudo gem update
    
  6. Nachdem das Update abgeschlossen ist oder angegeben ist, dass es bereits auf dem neuesten Stand ist, sollten Sie die Cocoapods installieren:

    $ Sudo gem install cocoapods
    
  7. Und am Ende führen Sie einfach die folgenden Befehle aus:

    $ Sudo pod setup
    $ Sudo pod install
    

Und Viola! Es ist vollbracht. In Ihrem Projektordner wird ein Ordner mit dem Namen "Pods" angezeigt. Die von Ihnen in der Pod-Datei angegebene Abhängigkeit wird im Ordner "Pods" als Unterordner angezeigt. 

Viel Spaß beim Codieren :)

Schnelle, einfache, hackige Lösung: 

Sudo chmod -R 777 ~/.cocoapods
Sudo chmod -R 777 ~/Library/Caches/CocoaPods
0
pfrank

Beantwortung der ursprünglichen Frage:

Is Sudo installation of cocoaPods the wrong way or normal way? 

Wenn ich einen pod install mache, bekomme ich:

Analyzing dependencies
CocoaPods 0.36.0.beta.1 is available.
To update use: `Sudo gem install cocoapods --pre` 

ich gehe also davon aus, dass Sudo in Ordnung ist.

0
Snowcrash

Ich habe es gelöst, indem ich die aktuellste Version von Ruby installiert habe. Anweisungen hier: https://gorails.com/setup/osx/10.12-sierra Ich konnte dann erfolgreich Sudo gem update Sudo gem installieren cocoapods

0
Andre Guerra

Dies ist ein bekanntes Problem. Es gibt mehr auf der offiziellen Website von CocoaPods .

0
DaddyM