En este momento estás viendo Unity no puede agregar paquetes git en SSD externo.  FATAL: no en un directorio git

 – Unity

Unity no puede agregar paquetes git en SSD externo. FATAL: no en un directorio git – Unity

Unity no puede agregar paquetes git en SSD externo. FATAL: no en un directorio git

– UnityAssets3Free

buenas , por aqui kein y en esta ocasion os traigo
nueva pregunta

Tengo un eSSD (SSD externo) donde guardo la mayor parte de mi unity proyectos porque tengo que acceder a ellos en mi computadora de escritorio y portátil para la escuela. Cada vez que trato de agregar un paquete usando una url de git, obtengo el Cannot perform upm operation: Unable to add package [package]: Error when executing git command. fatal: not in a git directory error. Este mensaje también aparece cuando lo agrego manualmente al manifest.json.

Git inicialicé un trabajo porque también estoy almacenando mis proyectos en git para el control de versiones, que aún funciona perfectamente. Para probar, cloné mi proyecto en una de las Unityes de mi sistema y upm no tuvo problemas para instalar el paquete. Después de eso, volví a clonar mi proyecto en mi eSSD para asegurarme de que no hubiera nada dañado, eso tampoco solucionó el problema.

Guardé mis proyectos en un eSSD durante años y nunca tuve ningún problema, así que abrí uno de mis proyectos más antiguos en mi eSSD para verificar si todavía se estaban cargando correctamente, este fue el caso. Así que cambié de unity 2021.3.3f1 por 2019.4.39f1(que era la versión anterior del proyecto) para verificar si se trataba de un problema relacionado con la versión. Este tampoco fue el caso.

También probé estas soluciones:

Así que no sé qué está causando el problema en este punto.

2 respuestas 2

He estado teniendo el mismo problema volviéndome loco durante semanas. Por mi parte, el problema era una combinación de

  • el ssd externo es un sistema de archivos exfat en lugar de ntfs
  • Cambio de permisos de nueva carpeta de git para Windows
  • el código upm no arroja errores al inicializar la carpeta del paquete local

Git arrojará un error si no es el propietario de una carpeta de repositorio local con la que está tratando de trabajar. Pero exfat no admite permisos de seguridad, por lo que no puede establecerse como propietario. La solución para mí fue deshabilitar globalmente los directorios seguros de git. acabo de agregar

[safe]
    directory = *

directamente a mi .gitconfig en %userprofile%/.gitconfigpero también puedes ejecutar el comando git config --global --add safe.directory "*" desde cmd, o cualquier terminal que esté utilizando.

Tenga en cuenta que esto deshabilita la verificación de seguridad por completo, lo cual no es ideal para mí. Pero por alguna razón, tratar de aplicarlo solo a la Unity o la carpeta ssd en la Unity no me dio los resultados deseados.

En cuanto a lo que está haciendo Unity, lo mejor que puedo decir es que cuando el administrador de paquetes extrae un paquete de git, primero inicializa un repositorio local temporal en la carpeta del proyecto y luego intenta agregar core.longpaths a .gitconfig si está ejecutando Windows. Pero la inicialización del repositorio se le da a -q bandera, por lo que git no devuelve un error al administrador de paquetes. Y así, el administrador de paquetes no arroja un error hasta que intenta ejecutar la configuración de la carpeta temporal inexistente en el directorio del proyecto, dándonos nuestra fatal: not in a git director mensaje de error.

No tengo idea de qué está causando este problema, solo quería agradecerte por tu publicación. Ver un SSD externo puede causar este tipo de problema nos ahorró mucho tiempo al volver al SSD principal de un miembro del equipo.

Buena suerte con tus proyectos.

nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias

eso es todo,espero que te funcione

Deja una respuesta