Wie ändere ich den Pfad, der zum Starten einer Anwendung gesucht wird?

Ich versuche, den D-Programmiersprachen-Compiler DMD zu starten, aber das Terminal gibt den folgenden Fehler aus:

dmd: failed to launch executable at /Library/Compilers/dmd2/osx/bin/dmd

Aber es gibt keinen Ordner unter dem Namen dmd2unter /Library/Compilers.

Ich kann den dmd-Compiler von diesem Pfad aus starten /usr/bin/dmd, aber ich möchte diesen Pfad nicht jedes Mal eingeben, wenn ich eine Quellcodedatei kompilieren muss.

Das ist mein $PATH:

/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin: /sbin:/opt/x11/bin:/usr/texbin

Gibt es eine Möglichkeit, dass, wenn ich dmdes tippe, es startet /usr/bin/dmd, anstatt zu versuchen, einen Compiler unter zu programmieren /Library/Compilers/dmd2/osx/bin/dmd?

Was ist Ihre Ausgabe echo $PATH?
Wie haben Sie dmd installiert (und beachten Sie auch, dass es nicht gut ist, in /usr/bin zu installieren)
Was type -p dmdzeigt? Dies ist die DMD, die Sie tatsächlich laufen
Bei der Installation müssen wir wissen, woher sie installiert wurde, damit wir die Dokumentation sehen können

Antworten (3)

Um Ihre Frage zu beantworten, muss Ihr PATH wie folgt geändert werden:

PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/opt/X11/bin:/usr/texbin

/usr/bin/dmddamit Ihre Shell vor allen anderen findet, die aus einem der beiden PythonBibliotheksverzeichnisse aufgerufen werden.

Bitte beachten Sie: Es ist eine gefährliche Vorgehensweise, Software, die nicht von Apple vertrieben wird, innerhalb von /usr/bin(oder /bin, /sbinoder /usr/sbin) installieren zu lassen. Dies ist eine Technik, die von Crapware verwendet wird, um sich zu verstecken.

Mein 2. § ist von @mark 1. Kommentar inspiriert :).

Wenn /usr/bin/dmdes funktioniert und Ihr Pfad /usr/bindarin enthalten ist und Ihr Pfad exportiert wird, können Sie einfach eingeben dmd. Andernfalls können Sie Ihren Weg so ändern:

echo "export PATH=\"/usr/bin:$PATH\"" >> .profile

Danach hat jedes neue Terminal den gewünschten Pfad. (Dies ist die Methode, die von Homebrew, Macports usw. verwendet wird)

Stellen Sie sicher, dass Ihr Weg exportiert wird, damit er funktioniert.

Wenn das einzige, was Sie aufrufen müssen, dmd ist, wie wäre es, wenn Sie einen Alias ​​in Ihr ~/.profile einfügen?

füge dies zu .profile hinzu:

alias dmd='/usr/bin/dmd'

Öffnen Sie dann ein neues Terminal oder geben Sie source ~/.profile ein , um .profile neu zu starten.

Sie können den Alias-Befehl auch direkt im Terminal eingeben und zunächst testen. Aber es wird beim nächsten Mal nicht mehr da sein, es sei denn, Sie fügen es in ~/.profile ein.

Ich mache das ziemlich oft. Verwirren Sie sich nicht gerne mit dem PATH für jede einzelne App, die Bash-Starts benötigt, und es vermeidet, versehentlich auf etwas anderes zu treten.

Dann tippst du einfach:

dmd ... deine argumente ...

Im Wesentlichen macht alias hier genau das, was Sie nicht wollen, es tippt /usr/bin/dmd ein.