Um ein Paket von Emacs zu deinstallieren, habe ich gelesen, dass ich den bestimmten Ordner aus dem elpa-Ordner löschen muss. Da die .emacs-Datei bei der Installation eines Pakets von selbst geschrieben wird, bedeutet dies, dass sie sich auch selbst löscht, wenn ich ein Paket deinstalliere oder bestimmte Einträge selbst löschen muss. Außerdem habe ich ein Auto-Complete-Paket installiert und im elpa-Ordner einen Ordner mit dem Namen gefunden popup-20141002.320
. Warum war dieser Ordner dort? Können Pakete andere Pakete installieren? Wenn ja, wenn ich das erste Paket deinstalliere, muss ich auch das selbst deinstallierte Paket deinstallieren?
7
package-install
sollte Ihre Init-Datei nicht ändern. Und ja, der Paketmanager installiert Abhängigkeiten für die von Ihnen installierten Pakete. Sopopup
ist eine Abhängigkeit fürauto-complete
.Antworten:
Wenn Sie ein Paket deinstallieren, wird es für Sie gelöscht. Dies ist eigentlich die Gesamtheit des Deinstallationsvorgangs (siehe
package-delete
Funktion). Das Löschen kann auch manuell erfolgen, indem es aus dem Installationsverzeichnis entfernt wird (.emacs.d/elpa/
standardmäßig für vom Benutzer installierte Pakete). Dieses manuelle Löschen wird nicht irgendwelche unerwünschten Nebenwirkungen auf das Paket-Management - System, das vereinfacht Erholung sollte etwas schief geht.Pakete können von anderen Paketen abhängen, um ordnungsgemäß zu funktionieren. Diese Abhängigkeiten werden automatisch installiert, wenn Sie ein Paket über den integrierten Paketmanager (
package.el
) installieren . Wenn SieM-x package-list-packages
verfügbare Pakete anzeigen, können Sie durch DrückenRET
oder Klicken auf einen Paketnamen sehen, welche Pakete installiert werden (falls sie nicht vorhanden sind) .Ein Paket über die Schnittstelle der Deinstallation nicht nicht entfernen Abhängigkeiten. Diese Informationen sind, soweit ich das beurteilen kann, nicht dokumentiert. Sie können sich selbst davon überzeugen, indem Sie die Funktionen
package-menu-execute
undpackage-delete
durchlesen oder ein Paket mit einer Abhängigkeit installieren, die Sie nicht installiert haben. Entfernen Sie dann das Hauptpaket und beobachten Sie den Status der Abhängigkeit.Update Seit Emacs 25.1 gibt es einen Befehl zum
package-autoremove
Löschen von nicht mehr benötigten Paketen, da diese nur als Abhängigkeit von gelöschten Paketen installiert wurden. Wenn Sie ein installiertes Paket aus der Paketliste löschen, zeigt emacs einen Vorschlag an, diesen Befehl gegebenenfalls auszuführen.quelle