4 votos

¿Puedo revertir la carpeta tmp a la carpeta predeterminada después de haber ejecutado export TMPDIR=~/tmp/ y que haya causado que mi aplicación de node se rompa?

¡Hola, ejecuté export TMPDIR=~/tmp/ y cambió mi carpeta temporal. Estaba tratando de hacer funcionar un backend de Go y un artículo lo sugería. Me emocioné un poco y ahora esto está causando problemas con una aplicación Node que funcionaba antes.

La aplicación Node ahora está diciendo:

Error: ENOENT: no such file or directory, mkdtemp '/Users/myName/tmp/puppeteer_dev_chrome_profile-VYUdd3'

¿Hay forma de revertir la variable temporal y solucionar este problema? ¿Dónde residen las variables de entorno en un Mac? También actualicé mi Mac de Mojave a Catalina durante este proceso. No estoy seguro si eso también tiene algo que ver.

Cualquier ayuda sería apreciada.

0 votos

¡Gran hallazgo! Votaría a favor de una respuesta que explique eso o incluso cómo lo descubriste.

1 votos

Gracias @bmike - Eliminé ese comentario, pero para aquellos que buscan, ejecuté `export TMPDIR=~/` para restablecer el TMPDIR a la carpeta root que tiene una carpeta tmp. No sé si esta es la ubicación predeterminada, pero parece haber solucionado los problemas de mi aplicación con node. Si alguien tiene información sobre cómo funcionan las variables de entorno, me encantaría saber dónde se almacena la actualización de las mismas.

2voto

TMPDIR necesita apuntar a un directorio existente y escribible por el usuario. Por lo tanto, establecerlo en ~/tmp está bien siempre y cuando ~/tmp realmente exista.

De forma predeterminada, apunta a /var/folders/_d/_SOMERANDOMLOOKINGSTRING/T/ para asegurar que cada usuario tenga su propia carpeta temporal privada. Si por alguna razón pierdes la definición, puedes ejecutar find /var/folders/_d -user $(whoami) -type d -maxdepth 1 para comprobar que todavía existe, y luego hacer

export TMPDIR="$(find /var/folders/_d -user $(whoami) -type d -maxdepth 1)"

para restablecerlo.

En caso de que ya no exista (lo cual es poco probable, ya que está protegido por SIP), reinicia para que se vuelva a crear o ejecuta (las tres líneas)

export TMPDIR=/tmp
export TMPDIR="$(mktemp -d)"
chmod 700 "${TMPDIR}"

para crear y asignar una nueva carpeta temporal.

-1voto

flynnstone9 Puntos 47

Encontré la respuesta. Ejecuté export TMPDIR=~/ para restablecer el TMPDIR a la carpeta root que tiene una carpeta tmp. Puedes verificar que la carpeta tmp está en la root ejecutando cd / luego ls -a para ver el directorio tmp al que redirigiste.

Después de restablecer el temp al directorio root de la mac, todas las aplicaciones de nodo se ejecutaron como se esperaba.

1 votos

Exportar una variable simplemente la coloca en la sesión actual.

0 votos

Ah, así que reiniciar la terminal habría resuelto eso también, muy probablemente. Bueno saberlo, gracias por la ayuda.

3 votos

TMPDIR=~/ lo establece en tu carpeta de inicio, no en la carpeta root. Ambos están equivocados, de hecho, ya que TMPDIR se establece en /var/folders/_d/_SOMERANDOMLOOKINGSTRING/T/ o similar por defecto.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X