Встановіть пакети глобально


10

Це щось, що можна / слід зробити? Наприклад, часто я використовую emacs у своєму обліковому записі користувача, а іноді і в root. Якщо я використовую менеджер пакунків (тобто мармелад чи щось подібне), чи потрібно мені встановлювати одні й ті ж пакети окремо для кожного облікового запису? Мені здається, вони встановлюються у вашому домашньому каталозі.

Відповіді:


7

Як вказує Nsukami, package.el робить підтримку пакетів для всієї системи. Але як вказує ваше наступне запитання, воно не надає особливої ​​допомоги для встановлення пакетів у загальносистемному порядку.

Один із способів зробити це можна, використовуючи щось на кшталт:

(setq package-user-dir "/usr/share/emacs/site-lisp/elpa")

у вашому кореневому обліковому записі ~/.emacs. Це зробить встановлені пакети кореневого користувача доступними для всіх користувачів (оскільки /usr/share/emacs/site-lisp/elpaзазвичай вони повинні відображатися у стандартному значенні package-directory-list).


Так, це має сенс! Чудова допомога хлопці - спасибі
користувач2237076

3

Відповідно до документації:

значення пакета-каталогу-списку є
("/usr/local/share/emacs/24.4/site-lisp/elpa" "/ usr / local / share / emacs / site-lisp / elpa" "/ usr / share / emacs / 24.4 / site-lisp / elpa "" / usr / share / emacs / site-lisp / elpa ")

Ця змінна може бути ризикованою, якщо її використовувати як локальну змінну файлів.

Документація: Список додаткових каталогів, що містять пакети Emacs Lisp. Кожна назва каталогу повинна бути абсолютною.

Ці каталоги містять пакунки, призначені для загальної системи; на відміну від цього, "пакунок-користувач-реж" містить пакети для особистого використання.

Ви можете налаштувати цю змінну.

Ця змінна була введена або її значення за замовчуванням було змінено у версії 24.1 Emacs.

Ще одна документація :

Окрім пакета-user-dir, Emacs шукає встановлені пакети в каталогах, перелічених у списку пакунків-каталогу. Ці каталоги призначені для системних адміністраторів, щоб зробити пакети Emacs доступними для всієї системи; Сам Emacs ніколи там не встановлює пакети.

Отже, для встановлення на весь сайт я пропоную вам як системний адміністратор вручну встановити пакунки всередині / usr / local / share / emacs / site-lisp / elpa. Або ви також можете зробити так, як запропонував @Stefan


Дякуємо за Ваш відповідь. Я можу підтвердити, перевіривши значення списку пакунків-пакетів, як ви описали, і дійсно-користувачем пакетом-dir є папка .emacs.d / elpa - там, де пакети зараз встановлюються. Тож я запитую, чи я замінюю пакунок-користувач-dir, щоб вказати на глобальне місцеположення, або коли, наприклад, використовую "Mx package-install", як я можу сказати, що я хочу встановити сайт?
користувач2237076
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.