Establecer la variable de entorno PATH en OSX de forma permanente

142

He leído varias respuestas sobre cómo establecer variables ambientales en OSX de forma permanente.

Primero, probé esto, ¿Cómo configurar permanentemente $ PATH en Linux / Unix? pero tenía un mensaje de error que decía no such file and directory, así que pensé que podría intentarlo en ~/.bash_profilelugar de hacerlo, ~/.profilepero no funcionó.

En segundo lugar, encontré esta solución Cómo configurar $ PATH como lo usan las aplicaciones en os x , que aconseja hacer cambios en

~ / .MacOSX / environment.plist

pero nuevamente tuve un no such file and directoryerror.

Necesito una forma de configurar estas variables de modo que no sea necesario configurarlas una y otra vez cada vez que abro una nueva sesión de terminal.

patti_jane
fuente
simplemente puede crear ~ / .profile la mayoría de los sistemas * nix reconocen el archivo y lo usan si existe. Sin embargo
trve.fa7ad
~ / .MacOSX / environment.plist está en desuso.
Pierre ALBARÈDE

Respuestas:

258

Tienes que agregarlo a /etc/paths.

Referencia (que funciona para mí): aquí

Nitish
fuente
66
Esta es la única solución que funciona en El Capitán. Mejor que modificar .bash_profiley .profile.
IgorGanapolsky
1
Votó la respuesta a la referencia agregada que explica cómo eliminar elementos de la ruta (en los comentarios) también.
Amudhan
Esto funcionó en EL Capitan. Cierre todas las terminales y abra una nueva terminal para verificar echo $ PATH.
Prem Ananth C
La respuesta tiene 5 años, pero sigue siendo la solución más fácil y sencilla. Gracias por la respuesta + la referencia
Rachit Magon
No olvide 'reiniciar' su terminal.
Neeraj Singh
27

Descubrí que hay algunos archivos que pueden afectar la $PATHvariable en macOS (funciona para mí, 10.11 El Capitan), que se enumeran a continuación:

  1. Como decía la respuesta más votada vi /etc/paths, lo cual se recomienda desde mi punto de vista.

  2. Además, no olvide el /etc/paths.ddirectorio, que contiene archivos que pueden afectar la $PATHvariable, establezca la ruta gity mono-commanden mi caso. Puede ls -l /etc/paths.denumerar elementos y rm /etc/paths.d/path_you_dislikeeliminar elementos.

  3. Si está utilizando un entorno "bash" (el predeterminado Terminal.app, por ejemplo), debe verificar ~/.bash_profileo ~/.bashrc. Puede que aún no haya ese archivo, pero estos dos archivos tienen efectos en el $PATH.

  4. Si está utilizando un entorno "zsh" ( Oh-My-Zsh , por ejemplo), debe verificar en ~./zshrclugar de ~/.bash*cosas.

Y no olvide reiniciar todas las ventanas de terminal, entoncesecho $PATH . La $PATHcadena será PATH_SET_IN_3&4:PATH_SET_IN_1:PATH_SET_IN_2.

Noté que las dos primeras formas ( /etc/pathsy /etc/path.d) están en el /directorio que afectará a todas las cuentas en su computadora, mientras que las dos últimas ( ~/.bash*o ~/.zsh*) están en el ~/directorio (también conocido como /Users/yourusername/) , que solo afectará la configuración de su cuenta.

Leer más: Mac OS X: Establecer / Cambiar la variable $ PATH - nixCraft

iplus26
fuente
2
Me gusta bastante editar .bash_profile en algunos casos, porque si tuviera dos cuentas de usuario en su máquina, podría agregar scripts solo para uno de ellos en, por ejemplo, ~ / dev / scripts
PeteW
de lo que no me di cuenta fue que estaba usando zsh en lugar de bash. ¡Gracias!
Leona
11

También puedes agregar esto

if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

a ~/.bash_profile, luego crea ~/.bashrcdonde puedes agregar más rutas a PATH. Un ejemplo con.

export PATH=$PATH:.
omoman
fuente
Gracias. Utilicé la solución anterior, pero si aplico este método, ¿significará que también puedo establecer las variables DYLD_LIBRARY_PATH como permanentes?
patti_jane
Sí, deberías poder hacerlo. Si desea ver los cambios, cierre su terminal y vuelva a . ~/.bashrc
abrirlo
Agrego el código anterior . ~/.bash_profile, luego vuelvo a abrir el terminal y escribo . ~/.bashrc, pero dice que no hay tal archivo o directorio.
patti_jane
Necesitas crearlo. Las líneas anteriores le indican .bash_profileque cargue .bashrcsi existe. Luego, en el espacio en blanco .bashrc, puede agregar lo que desee.
omoman
¡Muchas gracias! Sé que estoy pidiendo demasiado, pero ¿conoces un enlace donde se indique correctamente cómo crear .bashrc? No pude encontrar una buena.
patti_jane
8

Puede abrir cualquiera de los siguientes archivos:

/etc/profile
~/.bash_profile
~/.bash_login   (if .bash_profile does not exist)
~/.profile      (if .bash_login does not exist)

Y añadir:

export PATH="$PATH:your/new/path/here"
Tiago
fuente
7

Para que se agregue una nueva ruta a la variable de entorno PATH en MacOS, simplemente cree un nuevo archivo en el /etc/paths.ddirectorio y agregue la ruta de escritura que se establecerá en el archivo. Reinicia el terminal. Puede consultar echo $PATHen el indicador para confirmar si la ruta se agregó a la variable de entorno.

Por ejemplo: para agregar una nueva ruta /usr/local/sbina la PATHvariable:

cd /etc/paths.d
sudo vi newfile

Agregue la ruta al newfiley guárdelo.

Reinicie el terminal y escriba echo $PATHpara confirmar

Rishabh Mishra
fuente
No estoy seguro de por qué esta respuesta se está rechazando. Parece una forma razonable y sensata de organizar las variables de ruta. He utilizado caminos.d para crear archivos individuales para cada variable de ruta no estándar.
p_q
1

probé el primer método y pasé por la página de referencia, la configuración de ruta bien ejecutada, pero no calzó la ruta establecida cuando me hice eco de $ PATH

Mente encendida
fuente
1
¿Cerró la terminal y reinició, o llamó sourcepara cargar el nuevo entorno?
Dom
yaa ... terminal reiniciada ... pero la variable PATH nuevamente no existe
IgnitedMind
¿Cuál es tu caparazón? Verifique con ps -p $$. Si no es bash, los archivos de inicio se denominan de manera diferente.
Pierre ALBARÈDE
0

Para configurar la ruta en Mac se pueden seguir dos métodos.

  1. Crear un archivo para el nombre de la variable y pegar la ruta allí en /etc/paths.d y obtener el archivo en profile_bashrc.
  2. Exportar variable de ruta en ~/.profile_bashrccomo

    export VARIABLE_NAME = $ (PATH_VALUE)

Y la fuente del camino. Es simple y estable.

Puede configurar cualquiera path variablepor Mac terminalo linuxtambién en .

Ram Krishna
fuente