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


23

Я використовую vim роками, і мені це не дуже подобається.

Я хотів би спробувати emacs деякий час, але він не встановлений на жодному з серверів Linux, який я регулярно використовую. У мене немає кореня, тому apt-get installце не варіант (і я не можу просити у sysadmin дозволу, він би точно сказав "ні").

Чи є бінарна версія emacs, яку я можу встановити у своєму домашньому каталозі? Більшість серверів працює під управлінням CentOS.


Чи є у вас інструменти для компіляції? Неможливо скласти його з потрібними прапорами. Дивіться це питання за вказівниками та запускайте його безпосередньо з вашої домашньої папки.
Подорожник Geek

@JourneymanGeek так, gcc, здається, доступний моєму користувачеві хоча б на деяких серверах. Я ніколи його не тестував. Я трохи нервую про те, що працює на make installвипадок, він робить щось, про що сидсмін буде злий ... Я щодня працюю з виробничими серверами, і я не той, хто повинен прокидатися о 2 ранку, якщо щось піде не так.
Abhi Beckert

Оголошено виключно за те, що турбуєтесь про те, що ваш сисадмін добре виспався; провівши кілька років у цій ролі серед інших, я могла б побажати, щоб більшість моїх користувачів мали таку ж стурбованість.
Аарон Міллер

Пов’язані відомості див. Мінімальна установка emacs24 на ubuntu . Він показує, як налаштувати та створити emacs з джерел для невеликого сліду. Зазвичай це дає менший слід, ніж надається з пакетами, як-от emacs-noxабо emacs24-nox.
jww

Відповіді:


31

Якщо ви можете скласти код, просто завантажте розповсюдження джерела emacs.

Замість того, щоб починати з цього ./configure, скористайтеся параметрами налаштування, щоб повідомити системі побудови, де потрібно, щоб файли закінчувались. Наприклад:

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

встановить усі файли підтримки emacs під /home/abhi/emacsі виконавчі файли emacs в /home/abhi/bin. Якщо останній є у вашому $ PATH, яким він зазвичай є, тоді все повинно просто працювати (см).

Після цього можна

make && make install

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

(Все це базується /home/abhi, звичайно, на домашньому каталозі . Редагуйте за необхідності.)


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

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

2
Це в основному працювало для мене. На сервері, на якому я компілював, /libgif/libungifбібліотеки не знайдено, тому мені довелося додати --with-gif=noдо ./configureкоманди.
Стівен Ч. Хоуелл

@ StevenC.Howell, що роблять ці прапори?
Майкл

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

6

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

Ось простий спосіб використання конди

conda install -c conda-forge emacs

Якщо у вас немає конди та ви хочете його встановлювати, дивіться [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 з нуля (тому що у мене не було кореневих привілеїв на сервері, і адміністратори мені не допомагали), і я вважав, що "повинен бути простіший спосіб". Безумовно, був більш простий спосіб зconda
Тхамме Гоуда

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

1
неймовірно, це найкраща відповідь
Prasad Chalasani

Неймовірно, що конда надає emacs! Зараз цікаво, що ще мені не вистачає. conda search emacs працює, але з цікавості є якийсь варіант списку conda, який показує, які пакунки доступні ???
Балу

1

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


1
У мене менше 1 мс затримки на деяких серверах, і дуже хороша затримка для інших. Ми використовуємо сусідній центр обробки даних. Затримка не є проблемою для жодного іншого редактора, і я хочу використовувати її як мій $ EDITOR для таких речей, як введення повідомлень про фіксацію для контролю версій. Я ніколи не займаюся серйозним програмуванням на віддаленому сервері, я використовую свою локальну робочу станцію, на якій вже встановлено emacs.
Abhi Beckert

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