Warum funktioniert mein symbolischer Link nicht?

Ich habe ein kleines Julia- Programm geschrieben:

println("Hello world!")

Ich kann Julia vom Terminal aus ausführen:

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

Um mir das Leben zu erleichtern, habe ich versucht, einen symbolischen Link auf die Julia-Datei zu erstellen. Allerdings scheint es nicht zu funktionieren!

$ 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

Wie bringe ich meinen symbolischen Link dazu, richtig zu funktionieren?

Was für mich verwirrend ist, ist das /usr/local/bin/in meinem PATH:

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/opt/X11/bin
Was type -a juliasagt die Ausgabe von?

Antworten (2)

Ich habe herausgefunden, was falsch gelaufen ist: Ich habe einen Tippfehler gemacht, als ich den symbolischen Link erstellt habe!

FALSCH

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

RICHTIG

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

(mir fehlte das juliain .../Resources/julia/bin/...)

Dann sollte der Titel dieser Frage lauten: "Habe ich meine Brille auf?" das ist eine Frage, die ich mir stellen sollte, weil ich sie auch nicht gesehen habe 😊.

Es ist eine bessere Idee, den Ordner, der die Binärdatei enthält, zu Ihrer hinzuzufügen, $PATHanstatt einen Link zu der darin enthaltenen Datei zu erstellen /usr/local/bin.

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

Auf diese Weise müssen Sie nicht für jede einzelne Datei im bin-Ordner individuelle Links erstellen, wenn Sie sie jemals verwenden möchten.

Sie können diese Zeile auch hinzufügen, ~/.bash_profiledamit sie nach dem Schließen des Terminals bestehen bleibt.