objective c - manually - ''pod install'' no actualiza un pod existente
pod init (4)
Intento actualizar mi pod usando la pod install
y descubriendo que no se actualiza correctamente a menos que elimine el pod original .
¿Se requiere algún paso adicional o hay un error común que hace que las actualizaciones fallen?
Creo que el lector de esta Cuestión debe entender la diferencia entre
actualización de pod vs actualización de pod
Muchas personas que comienzan con CocoaPods parecen pensar que la instalación de pod solo se usa la primera vez que configura un proyecto usando CocoaPods y la actualización de la cápsula se usa posteriormente. Pero ese no es el caso en absoluto.
- Use
pod install
para instalar nuevos pods en su proyecto. Incluso si ya tienes un Podfile y has ejecutado lapod install
antes; incluso si solo está agregando / eliminando pods a un proyecto que ya usa CocoaPods. - Use la
pod update [PODNAME]
solo cuando desee actualizar un pod específico a una versión más nueva. - Use la
pod update
solo cuando desee actualizar cada pod a una versión más nueva disponible.
Cada vez que se ejecuta el comando de pod install
, y descarga e instala nuevos pods, escribe la versión que ha instalado, para cada Podfile.lock
, en el archivo Podfile.lock
. Este archivo realiza un seguimiento de la versión instalada de cada pod y bloquea esas versiones. Cuando ejecuta la pod install
, solo resuelve las dependencias para los pods que aún no figuran en el Podfile.lock
. Para los pods que figuran en Podfile.lock
, descarga la versión explícita incluida en Podfile.lock
sin intentar verificar si hay una versión más reciente disponible. Para los pods que no figuran en Podfile.lock
aún, busca la versión que coincida con lo que está descrito en el Podfile (como en el pod ''MyPod'', ''~>1.2''
)
No estoy seguro de qué versión, pero si actualiza la instalación de su cocoapods a la última versión, encontrará dos nuevos comandos para ayudar con esto.
pod outdated
Esto mostrará una lista de todos los pods que tienen actualizaciones disponibles.
pod update
Esto actualizará los pods listados en el comando anterior
Puede agregar la etiqueta detallada y ver si aparece un error durante la actualización.
pod install --verbose
Usar --verbose
es la mejor manera de descubrir qué está pasando. Tal vez haya un problema con el repositorio desde el que intenta actualizar. Difícil de decir.
Si su proyecto está configurado correctamente , debería poder eliminar todo el directorio de Pods
y ejecutar la pod install
. Encuentro que a veces esta es la mejor solución cuando tengo problemas con los pods que no se instalan correctamente.
Nota: Si comienza a recibir errores como este cuando construye:
diff: /../Podfile.lock: No such file or directory
diff: /Manifest.lock: No such file or directory
error: The sandbox is not in sync with the Podfile.lock. Run ''pod install'' or update your CocoaPods installation.
... es posible que deba cerrar y volver a abrir el proyecto en Xcode .
Advertencia: asegúrese de que todos los archivos en su directorio de Pods serán recreados antes de borrar el directorio de Pods. (Es decir, asegúrese de no modificar o agregar archivos manualmente al directorio de Pods).