No tengo claro cómo agregar rutas permanentemente a la var. Env PATH. He encontrado varias preguntas para esto cada vez con diferentes respuestas. Creé un .bash_profile en mi directorio de inicio, pero cada vez que reinicio tengo que export mis rutas nuevamente.

source ~/.bash_profile ni siquiera funciona.

¿Qué me estoy perdiendo?

Este es actualmente mi .bash_profile

export PATH="/usr/local/opt/python/libexec/bin:$PATH" export PATH="/usr/local/opt/openssl/bin:$PATH" export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH" export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include" 

Comentarios

  • ¿Qué quieres decir con " source ~ / .bash_profile doesn ' ni siquiera funciona "? ¿Recibes un mensaje de error?
  • Salga de la Terminal, luego vuelva a abrirla … cuál ' es el resultado de: echo $PATH
  • @ user3439894 sí, eso ' es extraño, en realidad las rutas están todas aquí, la primera fila excluida (la de Python)
  • Esperaba que publicaras el resultado de echo $PATH para poder ver explícita y específicamente cuál fue el resultado. Lo siento, pero no puedo ' ayudar si ¡no recibí la información que solicito!
  • /Applications/XAMPP/xamppfiles/bin:/usr/local/opt/openssl/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Responder

Lo que «ha presentado es la forma correcta de agregar directorios adicionales a su usuario» s $PATH.

Paso 1 – ~/.bash_profile

Para comenzar a hacer cambios en su ~/.bash_profile agregando las ubicaciones que «d me gustaría haber modificado su $PATH.

export PATH="/usr/local/opt/python/libexec/bin:$PATH" export PATH="/usr/local/opt/openssl/bin:$PATH" export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH" 

Paso 2: fuente ~/.bash_profile

Después de realizar las ediciones anteriores en este archivo, puede usar el comando source o el . notación para «recargar» y los cambios realizados en este archivo en el contexto de su shell actual.

$ . ~/.bash_profile 

-o-

$ source ~/.bash_profile 

Paso 3 – Evalúe los cambios

Después de realizar las ediciones y obtenerlas, puede confirmar que tuvieron el efecto que deseaba haciendo eco del contenido de la variable.

$ echo $PATH | tr ":" "\n" /usr/local/bin /usr/bin /bin /usr/sbin /sbin /opt/X11/bin /Applications/Wireshark.app/Contents/MacOS /usr/local/sbin /Users/smingolelli/bin /usr/local/opt/go/libexec/bin /Applications/Visual Studio Code.app/Contents/Resources/app/bin /Users/smingolelli/projects/kubebuilder/kubebuilder_1.0.5_darwin_amd64/bin/ 

El orden es importante, por lo que los directorios que aparecen primero se buscarán primero. Si un binario vive en varios lugares, el primer lugar que se encuentre será el que se utilice.

También tenga en cuenta que varias fuentes de este archivo tendrán el efecto negativo de continuar agregando los mismos cambios, por lo que a menudo es el caso que querrá ajustar completamente $PATH a un estado inicial conocido consistente y luego modificarlo con estos tipos de comandos:

export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin" export PATH="/some/new/dir:$PATH" 

Uso de path_helper

macOS también incluye un ayudante para ayudar en la administración de su $PATH. Se encuentra aquí /usr/libexec/path_helper.

Entonces, en lugar de crear manualmente su base $PATH como se mencionó anteriormente, puede hacerlo use este fragmento para obtener un buen punto de partida conocido para su $PATH.

[ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s) 

Esto se encargará de inicializar $PATH por lo que cualquier directorio listado en /etc/paths y /etc/paths.d/ se agregan automáticamente.

Comentarios

  • Podría ser mejor usar [ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s) para inicializar la ruta de modo que cualquier directorio listado en /etc/paths y /etc/paths.d/ se agregan automáticamente.
  • @nohillside tiene sentido. Yo no estaba ' t consciente de que macOS tenía este asistente, gracias, ' agregaré a A ' er.
  • Tengo un vistazo a /etc/profile. No es ' mucho allí, pero las iniciales ising PATH es parte de esto.
  • Solo una cabeza ' s arriba, mi ~./bash_profile solo se enruta a ~/.bashrc que es el archivo real que tuve que modificar.
  • @slm [ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s) eliminar la segunda parte me da el mismo resultado que usar la primera parte cuando source ~/.bash_profile más de una vez. Tal vez sería útil una explicación de lo que hace cada parte.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *