Instalar emacs sin sudo?

23

He estado usando vim durante años, y realmente no me gusta.

Me gustaría probar emacs por un tiempo, pero no está instalado en ninguno de los servidores de Linux que uso regularmente. No tengo root, así apt-get installque no es una opción (ni puedo pedirle permiso al administrador del sistema, definitivamente diría que no).

¿Existe una versión binaria de emacs que pueda instalar en mi directorio de inicio? La mayoría de los servidores ejecutan CentOS.

Abhi Beckert
fuente
¿Tienes herramientas de compilación? No puede ser demasiado difícil compilarlo con los indicadores correctos. Consulte esta pregunta para ver los punteros y ejecútela directamente desde su carpeta de inicio.
Journeyman Geek
@JourneymanGeek sí, gcc parece estar disponible para mi usuario en al menos algunos de los servidores. Nunca lo he probado. Estoy un poco nervioso por correr en make installcaso de que haga algo por lo que el administrador de sistemas se enojaría ... Trabajo con servidores de producción todos los días, y no soy yo quien tiene que despertarse a las 2 am si algo sale mal.
Abhi Beckert
Votado por el mero hecho de preocuparse de que su administrador de sistemas duerma bien por la noche; Después de haber pasado varios años en ese rol, entre otros, desearía que más de mis usuarios hayan tenido la misma preocupación.
Aaron Miller
Relacionado, vea Instalación mínima de emacs24 en ubuntu . Le muestra cómo configurar y construir emacs a partir de fuentes para un tamaño reducido. Por lo general, produce una huella más pequeña que la proporcionada con paquetes como emacs-noxo emacs24-nox.
jww

Respuestas:

31

Si puede compilar código, simplemente descargue una distribución fuente de emacs.

En lugar de comenzar ./configure, use las opciones de configuración para indicarle al sistema de compilación dónde desea que terminen los archivos. Por ejemplo:

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

instalará todos los archivos de soporte de emacs en /home/abhi/emacs, y los ejecutables de emacs en /home/abhi/bin. Si este último está en su $ PATH, que generalmente es, entonces las cosas deberían funcionar (sm).

Después de eso puedes

make && make install

sin preocuparse de que la instalación ponga archivos que no sean en su directorio de inicio.

(Todo esto se basa en su directorio de inicio /home/abhi, por supuesto. Edite según sea necesario).

rici
fuente
55
Solo para agregar mis dos bits aquí: no tengo root en mi máquina de escritorio en el trabajo, y así es exactamente como construí e instalé Emacs, con la ligera diferencia de que mi comando de configuración era ./configure --prefix=~/installsy mi $PATHincluye ~/installs/bin: Emacs no es No es lo único que he construido e instalado para mí, y creo que es preferible mantener todo en un solo directorio para no abarrotar demasiado $ HOME, pero supongo que es más una cuestión de gustos que otra cosa.
Aaron Miller
2
FWIW, para emacs 24.3: $ ./configure --prefix=~/software --bindir=~/bin rendimientos configure: error: expected an absolute directory name for --prefix: ~/software. Entonces, tal vez use $ HOME en su lugar.
user100464
2
Esto funcionó principalmente para mí. En el servidor en el que estaba compilando, /libgif/libungifno se encontraron las bibliotecas, así que tuve que agregar --with-gif=noal ./configurecomando.
Steven C. Howell
@ StevenC. ¿Qué hacen esas banderas?
Michael
2
@michael: --with-gif=nosuprime la creación de soporte para archivos de imagen GIF en emacs. (Sí, emacs puede mostrar archivos de imagen. Consulte gnu.org/software/emacs/manual/html_node/emacs/… ). Hay una serie de otras banderas de este tipo; ejecutar ./configure --helppara una lista.
Rici
6

Instalar desde la fuente o descargar manualmente .rpms y extraerlos es posible pero difícil porque todos dependen de otras bibliotecas.

Aquí hay una manera simple de usar conda

conda install -c conda-forge emacs

Si no tiene conda y desea instalarlo, consulte [1]

emacs ha sido precompilado para plataformas OS X y linux_64, consulte [2] para ver las versiones.

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

Thamme Gowda
fuente
3
No puedo creer que pueda instalar emacs usando conda. ¡Gracias!
CodyChan
1
:-RE. Pasé una hora tratando de construir emacs desde cero (porque no tenía privilegios de root en un servidor, y los administradores no me ayudaron), y sentí que "debe haber una manera más simple". Seguramente, había una manera más simple conconda
Thamme Gowda
1
Tampoco tengo privilegios de root en un servidor, pero solía compilar emacs desde cero varias veces (puede que tenga que arreglar algunas libs perdidas), el punto clave ahora es que no pude compilar emacs desde cero debido a algunos errores al compilar . De todos modos, logré instalar la última versión de emacs usando conda, esta es una forma nueva y limpia que aprendí de usted. Gracias.
CodyChan
1
increíble, esta es la mejor respuesta
Prasad Chalasani
¡Increíble que conda proporcione emacs! Ahora me pregunto qué más me estoy perdiendo. conda search emacs funciona pero, por curiosidad, ¿hay alguna variante de la lista de conda que muestre qué paquetes están disponibles?
Balu
1

No instale emacs en los servidores; no hay razón para obligarse a usar la interfaz a través de la latencia de red. En su lugar, instale emacs en su estación de trabajo y deje que recupere los archivos de los servidores utilizando su modo TRAMP . Alternativamente, puede usar Filezilla, descargará el archivo por usted y lo cargará automáticamente después de guardarlo.

Submarino alado
fuente
1
Tengo menos de 1 ms de latencia para algunos de los servidores, y muy buena latencia para los demás. Usamos un centro de datos cercano. La latencia no es un problema para ningún otro editor y quiero usarlo como mi $ EDITOR para cosas como escribir mensajes de confirmación para el control de versiones. Nunca estoy haciendo una programación seria en un servidor remoto, uso mi estación de trabajo local que ya tiene emacs instalado.
Abhi Beckert
1
@AbhiBeckert Bueno, en ese caso tal vez quieras pasar por el dolor de intentar instalarlo. No tendría miedo de hacer una make install, siempre y cuando no sea root, no puede hacer nada fuera de su directorio de inicio. Además, es posible que desee ver si nanoestá instalado, si prefiere la edición sin modo.
wingedsubmariner