Установить emacs без sudo?


23

Я использую vim в течение многих лет, и мне это не очень нравится.

Я бы хотел попробовать emacs некоторое время, но он не установлен ни на одном из серверов Linux, которые я регулярно использую. У меня нет root, поэтому apt-get installэто не вариант (и я не могу попросить разрешения у системного администратора, он определенно скажет «нет»).

Есть ли бинарная версия emacs, которую я могу установить в своем домашнем каталоге? Большинство серверов работают под управлением CentOS.


У вас есть инструменты для компиляции? Не может быть слишком сложно скомпилировать его с правильными флагами, посмотрите этот вопрос для указателей и запустите его прямо из вашей домашней папки.
Подмастерье Компьютерщик

@JourneymanGeek да, gcc, кажется, доступен моему пользователю, по крайней мере, на некоторых серверах. Я никогда не проверял это. Я немного нервничаю из-за запуска, если make installон делает что-то, от чего сисадмин разозлится ... Я работаю с производственными серверами каждый день, и я не тот, кто должен просыпаться в 2 часа ночи, если что-то идет не так.
Абхи Беккерт

Признан за то, что обеспокоен тем, что ваш сисадмин хорошо выспался ночью; потратив несколько лет на эту роль среди других, я бы хотел, чтобы больше моих пользователей проявляли такую ​​же озабоченность.
Аарон Миллер

Связанные, см. Минимальная установка emacs24 на Ubuntu . Он показывает вам, как настроить и собрать emacs из исходных текстов для небольшого места. Обычно он занимает меньше места, чем пакеты, например emacs-noxили emacs24-nox.
jww

Ответы:


31

Если вы можете скомпилировать код, просто скачайте исходный дистрибутив emacs.

Вместо того, чтобы начинать с ./configure, используйте параметры конфигурации, чтобы указать системе сборки, где вы хотите, чтобы файлы заканчивались. Например:

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

установит все файлы поддержки /home/abhi/emacsemacs в и исполняемые файлы emacs в /home/abhi/bin. Если последнее находится в вашем $ PATH, как это обычно бывает, тогда все должно работать (см).

После этого вы можете

make && make install

не беспокоясь об установке, помещая файлы, отличные от вашего домашнего каталога.

(Все это /home/abhi, конечно, зависит от вашего домашнего каталога . Отредактируйте по мере необходимости.)


5
Просто добавлю два моих кусочка: у меня на рабочем столе нет рута, и именно так я собрал и установил Emacs, с той небольшой разницей, что моя команда конфигурирования была ./configure --prefix=~/installsмоей и $PATHвключает ~/installs/bin- Emacs isn ' Это единственное, что я собрал и установил для себя, и я считаю, что лучше хранить все в одном каталоге, чтобы не перегружать $ HOME слишком сильно, но я полагаю, что это скорее дело вкуса, чем что-либо еще.
Аарон Миллер

2
FWIW, для emacs 24.3: $ ./configure --prefix=~/software --bindir=~/bin выходы configure: error: expected an absolute directory name for --prefix: ~/software. Так что, возможно, вместо этого используйте $ HOME.
user100464

2
Это в основном работало для меня. На сервере я составитель включена, /libgif/libungifбиблиотеки не были найдены , поэтому мне пришлось добавить --with-gif=noк ./configureкоманде.
Стивен Хоуэлл,

@ StevenC. Что делают эти флаги?
Майкл

2
@michael: --with-gif=noподавляет встроенную поддержку файлов изображений GIF в emacs. (Да, emacs может отображать файлы изображений. См. Gnu.org/software/emacs/manual/html_node/emacs/… ). Есть много других таких флагов; выполнить ./configure --helpдля списка.
Ричи

6

Установка из исходного кода или загрузка .rpms вручную и извлечение их возможны, но сложно, поскольку все они зависят от других библиотек.

Вот простой способ использования Conda

conda install -c conda-forge emacs

Если у вас нет conda и вам нравится его устанавливать, см. [1]

emacs был предварительно собран для платформ OS X и linux_64, версии см. в [2].

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


3
Я не могу поверить, что могу установить emacs, используя conda. Благодарность!
CodyChan

1
:-D. Я потратил час, пытаясь создать emacs с нуля (потому что у меня не было привилегий root на сервере, и администраторы мне не помогали), и я чувствовал, что «должен быть более простой способ». Конечно, был более простой способconda
Thamme Gowda

1
У меня также нет привилегий root на сервере, но я несколько раз компилировал emacs с нуля (возможно, пришлось исправить некоторые пропущенные библиотеки), ключевой момент в том, что мне не удалось скомпилировать emacs с нуля из-за некоторых ошибок при компиляции , В любом случае, мне удалось установить последнюю версию emacs с использованием conda, это новый и чистый способ, который я узнал от вас. Спасибо.
CodyChan

1
невероятно, это лучший ответ
Прасад Чаласани

Невероятно, что Конда предоставляет Emacs! Теперь интересно, что еще мне не хватает. Conda Search Emacs работает, но из любопытства есть какой-то вариант списка Conda, который показывает, какие пакеты доступны ???
Балу

1

Не устанавливайте emacs на серверы - нет причин заставлять себя использовать интерфейс через сетевую задержку. Вместо этого установите emacs на свою рабочую станцию ​​и разрешите ему извлекать файлы с серверов в режиме TRAMP . Кроме того, вы можете использовать Filezilla, он загрузит файл для вас и автоматически загрузит их после сохранения.


1
У меня задержка составляет менее 1 мс для некоторых серверов и очень хорошая задержка для остальных. Мы используем близлежащий дата-центр. Задержка не является проблемой для любого другого редактора, и я хочу использовать его в качестве моего $ EDITOR для таких вещей, как ввод сообщений коммита для контроля версий. Я никогда не занимаюсь серьезным программированием на удаленном сервере, я использую свою локальную рабочую станцию, на которой уже установлен emacs.
Абхи Бекерт

1
@AbhiBeckert Ну, в этом случае, может быть, вы действительно хотите испытать боль, пытаясь установить его. Я бы не боялся делать это make install, если вы не root, он ничего не может сделать вне вашего домашнего каталога. Кроме того, вы можете посмотреть, nanoустановлен ли он, если вы предпочитаете немодальное редактирование.
wingedsubmariner
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.