Till Go 1.4.2 Wenn ich laufe, gehe nach dem Ausführen go Build installieren, könnte ich Binärdatei in meinem aktuellen Ordner finden. Daher funktionierte der folgende Linux-Befehl
$ go build & amp; & amp; go install & amp; & amp; ./executable
Aber nach der Installation gehen 1.5, wenn ich denselben Befehl ausführen, bekomme ich,
-bash: ./executable: Keine solche Datei oder kein Verzeichnis
und wenn ich überprüft habe, gibt es keine ausführbare Datei zu finden. Haben Sie das in Go 1.5 geänderte Verhalten installiert?
Ja, das Verhalten hat in Go 1.5 geändert :
Wenn 'go install' (ohne Argumente, dh das aktuelle Verzeichnis) erfolgreich ist, entferne die ausführbare Datei, die von 'go build' geschrieben wurde, falls vorhanden. Dadurch wird vermieden, dass eine veraltete Binärdatei während einer Sequenz wie folgt zurückbleibt:
%Vor%Vor diesem CL hat das aktuelle Verzeichnis immer noch die veraltete Binärdatei von 'go build'. Wenn $ PATH einen Punkt enthält, wird beim Ausführen des Programmnamens dieses veraltete Programm anstelle des neuen, installierten Programms angezeigt.
Ich kann jedoch nichts finden, was dies in den Versionshinweisen erwähnt. Könnte ein Dokumentationsproblem sein.
Es scheint, als wäre die Lösung, die Binärdatei zu verwenden, die go install
erzeugt hat.
BEARBEITEN Hier ist das Problem auf dem Go-Problem-Tracker, wenn Sie möchten um Updates zu folgen. Sollte durch 1.5.1 behoben werden.