Ein Freund hat mir vor langer Zeit geholfen, Racket 6.1 auf meinem Ubuntu zu installieren. Er hat etwas gemacht, was make
ich nicht weiß, und jetzt habe ich einen Racket-Ordner in meinem Home-Verzeichnis.
Ich wollte Racket vor Kurzem auf 6.5 aktualisieren, habe also Racket ppa zu apt-get hinzugefügt und das Upgrade dann erfolgreich durchgeführt. Wenn ich jedoch Racket in das Terminal eingebe, ist es immer noch Version 6.1. Drracket ist auch immer noch 6.1.
Setting up racket-common (6.5-20160429~trusty) ...
Installing new version of config file /etc/racket/config.rktd ...
Setting up racket (6.5-20160429~trusty) ...
xxx@laptop:~$ racket --version
Welcome to Racket v6.1.
Ich habe es geöffnet /etc/racket/config.rktd
, es schreibt das Racket-Verzeichnis als /usr/share/applications vor. Als ich es geöffnet habe /usr/share/applications
, war da ein Symbol von DrRacket
und wenn ich darauf geklickt habe, war es 6.1.
Was kann ich jetzt machen?
Danke schön,
AKTUALISIEREN:
Das ist, bevor ich den Schlägerordner in den Papierkorb verschiebe
chi@laptop:~$ racket --version
Welcome to Racket v6.1.
chi@laptop:~$ which racket
/home/chi/racket/bin/racket
chi@laptop:~$ echo $PATH
/home/chi/racket/bin:/home/chi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Dies ist, nachdem ich es in den Papierkorb verschoben habe
chi@laptop:~$ racket --version
bash: /home/chi/racket/bin/racket: No such file or directory
chi@laptop:~$ which racket
/usr/bin/racket
chi@laptop:~$ echo $PATH
/home/chi/racket/bin:/home/chi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Wenn ich den Racket-Ordner aus dem Papierkorb wiederherstelle, ist alles wie vorher. Irgendwelche Vorschläge?
Danke schön,
Antwort1
Konzentrieren wir uns zunächst auf den Befehlszeilenaufruf. Ich vermute, dass Ihr PATH zunächst den Pfad der alten Installation (die in Ihrem Home-Verzeichnis) enthält. Oder vielleicht ist es nur eine Frage einer Neuaufbereitung. Folgendes würde ich vorschlagen:
- Öffnen Sie ein neues Terminalfenster (eine Möglichkeit, um sicherzustellen, dass Pfade aktualisiert werden).
- Führen Sie es aus
racket --version
und stellen Sie sicher, dass es immer noch 6.1 ist. - Führen Sie es aus
which racket
, um zu sehen, welche Racket-Version Sie verwenden. Ich vermute, es ist eine, die in Ihrem Home-Verzeichnis installiert ist. - Führen Sie es aus
echo $PATH
, um zu sehen, wie Ihr PATH aussieht. Ich vermute, dass der Pfad zu dem in Ihrem Home-Verzeichnis installierten Pfad vor dem mit dem PPA installierten Pfad liegt.
Wennalles, was ich vermutet habe, stimmt, dann können Sie das Problem wahrscheinlich lösen, indem Sie das racket
Verzeichnis in Ihrem Home-Verzeichnis löschen (oder, konservativer, indem Sie es an einen Ort verschieben, /tmp
von dem aus Sie es bei Bedarf zurückholen können).
Nachdem Sie den Racket aus Ihrem Home-Verzeichnis entfernt haben, müssen Sie Ihrer Shell ( bash
) mitteilen, dass der Befehl vom vorherigen Speicherort verschwunden ist, da sich die Bash-Shell den Speicherort bereits verwendeter Befehle merkt. Sie können diese Befehls-Hash-Tabelle entweder durch Ausführen von entfernen: hash -r
oder indem Sie einfach vorhandene Shell-Instanzen schließen und ein neues Terminalfenster öffnen.