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 dmd2
unter /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 dmd
es tippe, es startet /usr/bin/dmd
, anstatt zu versuchen, einen Compiler unter zu programmieren /Library/Compilers/dmd2/osx/bin/dmd
?
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/dmd
damit Ihre Shell vor allen anderen findet, die aus einem der beiden Python
Bibliotheksverzeichnisse aufgerufen werden.
Bitte beachten Sie: Es ist eine gefährliche Vorgehensweise, Software, die nicht von Apple vertrieben wird, innerhalb von /usr/bin
(oder /bin
, /sbin
oder /usr/sbin
) installieren zu lassen. Dies ist eine Technik, die von Crapware verwendet wird, um sich zu verstecken.
Wenn /usr/bin/dmd
es funktioniert und Ihr Pfad /usr/bin
darin 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)
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.
Mateusz Szlosek
echo $PATH
?mmmmmm
mmmmmm
type -p dmd
zeigt? Dies ist die DMD, die Sie tatsächlich laufenmmmmmm
mmmmmm