update tag pods guide dependency app rubygems cocoapods

rubygems - tag - cocoaPods pod install Permiso denegado



update cocoapods ios (9)

Esta es la version corta:

Cuando corro

pod install

en un proyecto de Xcode me sale

[!] Error de extracción de Pod :: Executable: no se puede abrir .git / FETCH_HEAD: Permiso denegado

Si corro

sudo pod install

No obtengo ningún error, pero mis archivos instalados son propiedad de root y no puedo compilar, y tengo que chown esos archivos a un usuario normal para usar el compilador de Xcode.

Estoy ejecutando Lion OSX.

Instalé cocoaPods usando

sudo gem install cocoaPods

Tuve que usar sudo porque sin él obtuve

ERROR: Al ejecutar gem ... (Gem :: FilePermissionError)

No tiene permisos de escritura en el directorio /Library/Ruby/Gems/1.8.

así que ahora tengo una versión root instalada de cocoaPods que descarga librerías Xcode propiedad de root.

¿Sudo instalación de cocoaPods es incorrecta o normal?

Si es normal, ¿hay alguna manera de solucionar el problema de instalación de la cápsula?


Solo lo usé (donde el username es tu nombre de usuario de inicio de sesión de Mac)

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

y

sudo chown -R username ~/.cocoapods

cuando probé con el parámetro groupname obtuve

chown: username.groupname: illegal user name

Por supuesto, utilicé mi nombre de usuario y mi nombre de grupo :)


Solución rápida, fácil, hacky:

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


Con todos los errores que obtuve durante la instalación de CocoaPods en algunos de mis proyectos, finalmente logré encontrar un patrón con él. Aquí está:

  1. Acceda a la carpeta de su proyecto desde la terminal:

    $ cd /Users/username/Downloads/MessagesTableViewController-master

  2. Crea un podfile

    $ touch podfile $ open -e podfile

  3. Después de crear el podfile, acceda a él a través del Finder y edítelo en cualquier otro editor de texto, excepto TextEdit porque TextEdit a veces se equivoca con apóstrofes en el archivo del pod. Usé textWrangler. Escriba lo siguiente en el archivo del pod; (Tenga en cuenta que estas dependencias son para proyectos que admiten iOS versión 6.0 y superior)

    platform :ios, ''6.0'' pod ''AFNetworking''

  4. Guarde el archivo y ciérrelo.

  5. Vuelve a la terminal y mira tu versión de pod:

    $ pod --version

    Dependiendo de su versión del pod, si se requiere una actualización, ejecute este comando:

    $ sudo gem update

  6. Después de que la actualización se complete o indique que ya está actualizada, debe instalar los cocoapods:

    $ sudo gem install cocoapods

  7. Y al final, solo ejecuta los siguientes comandos:

    $ sudo pod setup $ sudo pod install

¡Y Viola! Se hace. Verá una carpeta con el nombre de Pods dentro de la carpeta del proyecto y la dependencia que indicó en el archivo del pod aparecerá en la carpeta Pods como una subcarpeta.

Feliz codificación :)


El problema es con la instalación predeterminada de Ruby de Mac OS X. La instalación de Ruby / Gems es propiedad de root en la ubicación que especificó.

Este es un comportamiento normal a menos que instale un administrador de Ruby. Recomendaría rbenv pero RVM también es popular.

Estos instalaron su instalación de Ruby en su carpeta $HOME . De esta manera, su usuario posee los ejecutables Ruby y gema.


Eliminar los directorios funcionó para mí:

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

Si algunos otros problemas todavía existen.

Retire el directorio Pods y el archivo podFile.lock.

Cocoapods simplemente agrega los directorios nuevamente.



Resolví este problema ejecutando el siguiente comando:

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

y

sudo chown -R username:groupname ~/.cocoapods

Reemplace el username y el username con su nombre de usuario de inicio de sesión de Mac / nombre de grupo.


Respondiendo a la pregunta original:

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

Cuando hago una pod install , obtengo:

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

así que supongo que sudo está bien.