Emacs ohne Sudo installieren?

23

Ich benutze Vim seit Jahren und ich mag es nicht wirklich.

Ich würde Emacs gerne eine Weile ausprobieren, aber es ist nicht auf einem der Linux-Server installiert, die ich regelmäßig benutze. Ich habe kein Root-Verzeichnis, daher apt-get installist dies keine Option (und ich kann den Sysadmin auch nicht um Erlaubnis bitten, er würde definitiv nein sagen).

Gibt es eine Binärversion von Emacs, die ich in meinem Home-Verzeichnis installieren kann? Auf den meisten Servern wird CentOS ausgeführt.

Abhi Beckert
quelle
Haben Sie Kompilierungswerkzeuge? Es kann nicht zu schwierig sein, es mit den richtigen Flags zu kompilieren. Sehen Sie sich diese Frage für Zeiger an und führen Sie sie direkt von Ihrem Home-Ordner aus.
Geselle Geek
@JourneymanGeek ja, gcc scheint auf mindestens einigen Servern für meinen Benutzer verfügbar zu sein. Ich habe es noch nie getestet. Ich bin etwas nervös, make installweil ich laufe , wenn es etwas tut, worüber der Sysadmin sauer ist ... Ich arbeite jeden Tag mit Produktionsservern und ich bin nicht derjenige, der um 2 Uhr morgens aufwachen muss, wenn etwas schief geht.
Abhi Beckert
Nur deswegen, weil Sie besorgt sind, dass Ihr Systemadministrator gut schläft. Nachdem ich unter anderem mehrere Jahre in dieser Rolle verbracht hatte, hätte ich mir wünschen können, dass mehr meiner Benutzer das gleiche Anliegen hätten.
Aaron Miller
Weitere Informationen finden Sie unter Minimale Installation von emacs24 auf Ubuntu . Es zeigt Ihnen, wie Sie Emacs aus Quellen konfigurieren und erstellen, um einen geringen Platzbedarf zu erzielen. Normalerweise ist die Stellfläche kleiner als bei Paketen wie emacs-noxoder emacs24-nox.
Jww

Antworten:

31

Wenn Sie Code kompilieren können, laden Sie einfach eine Quelldistribution von Emacs herunter.

./configureVerwenden Sie stattdessen die Konfigurationsoptionen, um dem Build-System mitzuteilen, wo die Dateien landen sollen. Beispielsweise:

./configure --prefix=/home/abhi/emacs --bindir=/home/abhi/bin

Installiert alle Unterstützungsdateien von emacs unter /home/abhi/emacsund die ausführbaren Dateien von emacs unter /home/abhi/bin. Wenn sich das letztere in Ihrem $ PATH befindet, was normalerweise der Fall ist, sollten die Dinge einfach funktionieren (sm).

Danach kannst du

make && make install

ohne sich Gedanken über die Installation machen zu müssen, indem Sie andere Dateien als in Ihrem Home-Verzeichnis ablegen.

(Dies hängt /home/abhinatürlich alles von Ihrem Heimatverzeichnis ab . Bearbeiten Sie es nach Bedarf.)

rici
quelle
5
Ich möchte hier nur zwei Punkte zusammenfassen: Ich habe auf meinem Desktop-Computer kein Root-Verzeichnis, und genau so habe ich Emacs erstellt und installiert, mit dem kleinen Unterschied, dass mein Befehl configure ./configure --prefix=~/installsund mein $PATHIncludes ~/installs/bin- Emacs isn ' t das einzige, was ich für mich selbst erstellt und installiert habe, und ich finde es vorzuziehen, alles in einem einzigen Verzeichnis zu speichern, um $ HOME nicht zu überladen, aber ich denke, das ist mehr Geschmackssache als alles andere.
Aaron Miller
2
FWIW, für Emacs 24.3: $ ./configure --prefix=~/software --bindir=~/bin Ausbeuten configure: error: expected an absolute directory name for --prefix: ~/software. Verwenden Sie stattdessen vielleicht $ HOME.
User100464
2
Das hat meistens bei mir geklappt. Auf dem Server, auf dem ich kompiliert habe, wurden die /libgif/libungifBibliotheken nicht gefunden, sodass ich --with-gif=nosie dem ./configureBefehl hinzufügen musste .
Steven C. Howell
@ StevenC.Howell, was machen diese Flags?
Michael
2
@michael: --with-gif=noUnterdrückt die Erstellung von Unterstützung für GIF-Bilddateien in Emacs. (Ja, Emacs kann Bilddateien anzeigen. Siehe gnu.org/software/emacs/manual/html_node/emacs/… ). Es gibt eine Reihe anderer solcher Flags; ./configure --helpfür eine Liste ausführen .
rici
6

Die Installation von der Quelle oder das manuelle Herunterladen von .rpms und das Extrahieren von .rpms sind möglich, aber schwierig, da sie alle von anderen Bibliotheken abhängen.

Hier ist eine einfache Möglichkeit, conda zu verwenden

conda install -c conda-forge emacs

Wenn du kein conda hast und es installieren möchtest, siehe [1]

emacs wurde für OS X- und linux_64-Plattformen vorgefertigt, Versionen siehe [2].

[1] https://conda.io/miniconda.html
[2] https://anaconda.org/conda-forge/emacs

Thamme Gowda
quelle
3
Ich kann nicht glauben, dass ich Emacs mit conda installieren kann. Vielen Dank!
CodyChan
1
:-D. Ich hatte eine Stunde damit verbracht, Emacs von Grund auf neu zu erstellen (weil ich keine Root-Rechte auf einem Server hatte und Admins mir nicht geholfen haben), und ich hatte das Gefühl, dass es einen einfacheren Weg geben muss. Sicherlich gab es einen einfacheren Weg mitconda
Thamme Gowda
1
Ich habe auch keine Root-Rechte auf einem Server, aber ich habe Emacs mehrmals von Grund auf neu kompiliert (möglicherweise mussten einige fehlende Bibliotheken repariert werden). Der entscheidende Punkt ist jetzt, dass ich Emacs aufgrund einiger Fehler beim Kompilieren nicht von Grund auf neu kompilieren konnte . Wie auch immer, ich habe es geschafft, die neueste Version von Emacs mit zu installieren. condaDies ist eine neue und saubere Methode, die ich von Ihnen gelernt habe. Vielen Dank.
CodyChan
1
Unglaublich, das ist die beste Antwort
Prasad Chalasani
Unglaublich, dass Conda Emacs liefert! Jetzt frage ich mich, was ich sonst noch vermisse. Conda Search Emacs funktioniert, aber aus Neugier gibt es eine Variante der Conda-Liste, die zeigt, welche Pakete verfügbar sind?
Balu
1

Installieren Sie keine Emacs auf den Servern - es gibt keinen Grund, sich zu zwingen, die Schnittstelle durch Netzwerklatenz zu verwenden. Installieren Sie stattdessen Emacs auf Ihrer Workstation und lassen Sie es die Dateien von den Servern im TRAMP-Modus abrufen . Alternativ können Sie Filezilla verwenden. Es lädt die Datei für Sie herunter und lädt sie nach dem Speichern automatisch hoch.

wingedsubmariner
quelle
1
Ich habe weniger als 1 ms Latenz zu einigen Servern und sehr gute Latenz zu den anderen. Wir nutzen ein nahegelegenes Rechenzentrum. Die Latenz ist für keinen anderen Editor ein Problem, und ich möchte sie als meinen $ EDITOR verwenden, um beispielsweise Commit-Nachrichten für die Versionskontrolle einzugeben. Ich programmiere nie ernsthaft auf einem Remote-Server. Ich verwende meine lokale Workstation, auf der bereits Emacs installiert ist.
Abhi Beckert
1
@AbhiBeckert Nun, in diesem Fall möchten Sie vielleicht die Mühe machen, es zu installieren. Ich würde keine Angst davor haben, a zu tun make install, solange Sie nicht root sind, kann es nichts außerhalb Ihres Home-Verzeichnisses tun. Vielleicht möchten Sie auch sehen, ob nanoinstalliert ist, wenn Sie die Bearbeitung ohne Modell bevorzugen.
Wingedsubmariner