Installa emacs senza sudo?


23

Uso vim da anni e non mi piace molto.

Vorrei provare emacs per un po ', ma non è installato su nessuno dei server Linux che uso regolarmente. Non ho root, quindi apt-get installnon è un'opzione (né posso chiedere l'autorizzazione al sysadmin, direbbe sicuramente di no).

Esiste una versione binaria di emacs che posso installare nella mia directory home? La maggior parte dei server esegue CentOS.


Hai strumenti di compilazione? Non può essere troppo difficile compilarlo con i flag giusti, vedi questa domanda per i puntatori ed eseguilo direttamente dalla tua cartella home.
Journeyman Geek

@JourneymanGeek sì, gcc sembra essere disponibile per il mio utente su almeno alcuni server. Non l'ho mai provato. Sono un po 'nervoso per l'esecuzione in make installcaso faccia qualcosa di cui il sysadmin si incazzerebbe ... Lavoro con i server di produzione ogni giorno e non sono quello che deve svegliarsi alle 2 del mattino se qualcosa va storto.
Abhi Beckert,

Ha votato puramente per essere preoccupato che il tuo amministratore di sistema ottenga una buona notte di sonno; avendo trascorso diversi anni in quel ruolo, tra gli altri, avrei potuto desiderare che più dei miei utenti avessero suscitato la stessa preoccupazione.
Aaron Miller,

Relativo, vedi Installazione minima di emacs24 su Ubuntu . Ti mostra come configurare e costruire emacs da fonti per un ingombro ridotto. Di solito produce un ingombro inferiore rispetto a quello fornito con pacchetti come emacs-noxo emacs24-nox.
JWW

Risposte:


31

Se riesci a compilare il codice, scarica semplicemente una distribuzione sorgente di emacs.

Invece di iniziare ./configure, usa le opzioni di configurazione per dire al sistema di compilazione dove vuoi che finiscano i file. Per esempio:

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

installerà tutti i file di supporto di emacs sotto /home/abhi/emacse gli eseguibili di emacs in /home/abhi/bin. Se quest'ultimo è nel tuo $ PATH, come di solito è, allora le cose dovrebbero funzionare (sm).

Dopo ciò puoi

make && make install

senza preoccuparti dell'installazione mettendo file diversi dalla tua home directory.

(Questo è tutto basato sulla tua directory home /home/abhi, ovviamente. Modifica se necessario.)


5
Solo per aggiungere qui i miei due bit: non ho root sul mio computer desktop al lavoro, ed è esattamente così che ho creato e installato Emacs, con la leggera differenza che il mio comando configure era ./configure --prefix=~/installse il mio $PATHinclude ~/installs/bin- Emacs isn ' È l'unica cosa che ho costruito e installato per me stesso, e trovo preferibile tenere tutto in una singola directory in modo da non ingombrare troppo $ HOME, ma suppongo che sia più una questione di gusti che altro.
Aaron Miller,

2
FWIW, per emacs 24.3: $ ./configure --prefix=~/software --bindir=~/bin rese configure: error: expected an absolute directory name for --prefix: ~/software. Quindi forse usa $ HOME invece.
user100464

2
Questo ha funzionato principalmente per me. Sul server su cui stavo compilando, le /libgif/libungiflibrerie non sono state trovate, quindi ho dovuto aggiungere --with-gif=noil ./configurecomando.
Steven C. Howell,

@ StevenC.How cosa fanno quelle bandiere?
Michael

2
@michael: --with-gif=noelimina il supporto per la creazione di file immagine GIF in emacs. (Sì, emacs può visualizzare file di immagini. Vedi gnu.org/software/emacs/manual/html_node/emacs/… ). Ci sono un certo numero di altre bandiere simili; eseguire ./configure --helpper un elenco.
rici,

6

L'installazione dal sorgente o il download manuale di .rpms e l'estrazione sono possibili ma difficili perché dipendono tutti da altre librerie.

Ecco un modo semplice usando conda

conda install -c conda-forge emacs

Se non si dispone di conda e si desidera installarlo, vedere [1]

emacs è stato pre-costruito per piattaforme OS X e linux_64, vedi [2] per le versioni.

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


3
Non riesco a credere di poter installare emacs usando conda. Grazie!
CodyChan,

1
:-D. Avevo trascorso un'ora a cercare di creare emacs da zero (perché non avevo i privilegi di root su un server e gli amministratori non mi hanno aiutato), e ho pensato "deve esserci un modo più semplice". Sicuramente, c'era un modo più semplice conconda
Thamme Gowda,

1
Non ho nemmeno i privilegi di root su un server, ma ho usato per compilare più volte emacs da zero (potrebbe essere necessario correggere alcune librerie perse), il punto chiave ora è che non sono riuscito a compilare emacs da zero a causa di alcuni errori durante la compilazione . Ad ogni modo, sono riuscito a installare l'ultima versione di emacs usando conda, questo è un modo nuovo e pulito che ho imparato da te. Grazie.
CodyChan,

1
incredibile, questa è la risposta migliore
Prasad Chalasani,

Incredibile che il conda fornisca emacs! Ora mi chiedo cos'altro mi manca. conda search emacs funziona ma per curiosità c'è qualche variante dell'elenco conda che mostra quali pacchetti sono disponibili ???
Balu,

1

Non installare emacs sui server - non c'è motivo di forzare te stesso a utilizzare l'interfaccia attraverso la latenza di rete. Invece, installa emacs sulla tua workstation e lascia che recuperi i file dai server usando la sua modalità TRAMP . In alternativa, puoi utilizzare Filezilla, scaricherà il file per te e li caricherà automaticamente dopo il salvataggio.


1
Ho meno di 1 ms di latenza su alcuni server e un'ottima latenza su altri. Utilizziamo un data center nelle vicinanze. La latenza non è un problema per nessun altro editor e voglio usarlo come $ EDITOR per cose come digitare messaggi di commit per il controllo della versione. Non sto mai programmando seriamente su un server remoto, uso la mia workstation locale che ha già installato emacs.
Abhi Beckert,

1
@AbhiBeckert Bene, in tal caso forse vuoi passare attraverso il dolore di provare a installarlo. Non avrei paura di fare un make install, fintanto che non sei root non può fare nulla al di fuori della tua home directory. Inoltre, potresti voler vedere se nanoè installato, se preferisci la modifica non modale.
wingedsubmariner,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.