¿Por qué no funciona mi enlace simbólico?

Escribí un pequeño programa de Julia :

println("Hello world!")

Puedo ejecutar Julia desde la Terminal:

$ /Applications/Julia-0.6.app/Contents/Resources/julia/bin/julia test.jl 
Hello world!

Para facilitarme la vida, traté de crear un enlace simbólico al archivo de julia. Sin embargo, ¡no parece funcionar!

$ sudo ln -s /Applications/Julia-0.6.app/Contents/Resources/bin/julia /usr/local/bin/julia
$ julia
-bash: julia: command not found
$ type -a julia
-bash: type: julia: not found

¿Cómo hago para que mi enlace simbólico funcione correctamente?

Lo que es confuso para mí es que /usr/local/bin/está en mi RUTA:

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/opt/X11/bin
¿ Qué type -a juliadice la salida de?

Respuestas (2)

Descubrí qué salió mal: cometí un error tipográfico cuando estaba creando el enlace simbólico.

EQUIVOCADO

sudo ln -s /Applications/Julia-0.6.app/Contents/Resources/bin/julia /usr/local/bin/julia

CORRECTO

sudo ln -s /Applications/Julia-0.6.app/Contents/Resources/julia/bin/julia /usr/local/bin/julia

(Me faltaba la juliaentrada .../Resources/julia/bin/...)

Entonces el título de esta pregunta debería ser "¿Tengo las gafas puestas?" que es una pregunta que debo hacerme porque yo tampoco lo vi 😊.

Es una mejor idea agregar la carpeta que contiene el binario $PATHen lugar de crear un enlace al archivo dentro de /usr/local/bin.

export PATH="${PATH}:/Applications/Julia-0.6.app/Contents/Resources/julia/bin"

De esta manera, no necesita crear enlaces individuales para cada archivo dentro de la carpeta bin si alguna vez desea usarlos.

También puede agregar esta línea ~/.bash_profilepara que persista después de cerrar la terminal.