Las rutas bash_profile de Mavericks de OS X no funcionan

6

Necesito crear una nueva ruta en OS X Mavericks.

Para hacerlo, edité .bash_profile :

export LC_ALL="en_US.UTF-8"
export PGHOST=localhost

export PATH=$PATH:/usr/local/heroku/bin
export PATH=$PATH:/Applications/Postgres93.app/Contents/MacOS/bin

Pero no funciona. Cuando escribo echo $ PATH, el resultado es:

/usr/local/heroku/bin:/usr/local/rvm/gems/ruby-2.0.0-p0/bin:/usr/local/rvm/gems/ruby-2.0.0-p0@global/bin:/usr/local/rvm/rubies/ruby-2.0.0-p0/bin:/usr/local/rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/nicolas/.rvm/bin:/usr/local/rvm/bin

Este es el contenido de mi archivo .bashrc :

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
PATH=$PATH:/usr/local/rvm/bin # Add RVM to PATH for scripting

No tengo (ni encuentro) un archivo .profile .

¿Qué estoy haciendo mal?

    
pregunta ndemoreau 29.10.2013 - 15:20

5 respuestas

5

Después de editar el archivo de inicio de sesión, debe ejecutar el comando fuente en el archivo de inicio de sesión o crear una nueva sesión de terminal antes de que estén disponibles las variables de entorno actualizadas.

Por ejemplo:

source .bash_profile

Prefiero usar este método para agregar a la ruta. De esa manera, si el archivo se ejecuta varias veces, $ PATH no agrega rutas redundantes.

##
# DELUXE-HOME-BIN-INSERT
# (do not remove this comment)
##
echo $PATH | grep -q -s "${HOME}/bin"
if [ $? -eq 1 ] ; then
    PATH=$PATH:/bin
    export PATH
fi
    
respondido por el Ɱark Ƭ 29.10.2013 - 17:34
5

Logré agregar una ruta en Mavericks haciendo lo siguiente:

sudo vi /etc/paths

Esto abre el archivo llamado paths que incluye todas las rutas locales, etc. Al final de este archivo, agregué la ruta que quería usando el editor vi como se muestra en el comando anterior. Simplemente agregué una línea como /Applications/blabla/my_bin .

Le pedirá su contraseña y después de eso se hace. Funcionó para mí, espero que haga lo mismo para ti.

    
respondido por el user69044 30.01.2014 - 16:00
3

Agregue esto a su archivo .zshrc :

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

Esto cargará tu .bash_profile mientras se carga zsh ya que no lo carga por defecto.

    
respondido por el Travis Reeder 23.10.2014 - 07:30
0

Aparte del hecho, puedes simplemente crear un archivo .profile , agregando cosas a la ruta, ya que Snow Leopard o Lion (probablemente SL) se realiza agregando cosas a paths.d .

ls /etc/path*
/etc/paths

/etc/paths.d:
40-XQuartz  MacGPG2     TeX         julia

es decir, ir a /etc/paths.d/

touch un archivo llamado whatever_program_I_want_to_add_to_the_path , luego edítelo para que tenga la ruta del programa:

cat /etc/paths.d/julia
/usr/local/julia
cat /etc/paths.d/TeX
/usr/texbin

Cierre el terminal y reinícielo.

    
respondido por el user1256923 29.10.2013 - 17:30
-2

Si está intentando establecer rutas / variables / completions / etc utilizando la sustitución de procesos en Mavericks, de esta manera:

. <(npm completion)

Eso no funcionará: enlace Bash se niega a la fuente desde / dev / fds.

Básicamente, la fiesta de Mavericks es demasiado antigua. Instale y configure su cuenta para usar un bash más reciente, o reescriba su script para usar archivos temporales o procesos con nombre. Este es un ejemplo feo de una reescritura: dotfiles commit

(agregado para otros buscadores de Google que se encuentran en esta página)

    
respondido por el bronson 24.07.2014 - 20:29

Lea otras preguntas en las etiquetas