Как заставить emacs загрузить ess

Я установил emacs 26 через flatpak и ess с помощью sudo apt-get.

В настоящее время мой ess существует на /usr/share/emacs/site-lisp/elpa-src/ess-17.11, и я вставил свой файл .emacs (load "/usr/share/emacs/site-lisp/elpa-src/ess-17.11/"). Когда я запускаю emacs, я получаю следующее предупреждение:

Warning (initialization): An error occurred while loading ‘/home/yannik/.emacs’:

File is missing: Cannot open load file, No such file or directory, /usr/share/emacs/site-lisp/elpa-src/ess-17.11/

Однако этот каталог явно существует. Как мне заставить emacs обнаруживать ess? Все перепробовал, '(require ess-site) тоже не заработал.

есть ли причина, по которой вы не используете диспетчер пакетов, например. package-install? load загружает файл, используйте C-h f load, чтобы прочитать его документацию. Вы хотите добавить этот каталог в свой путь загрузки, например. (add-to-list 'load-path "/usr/..../"), но если вы используете диспетчер пакетов, все это будет выполнено за вас.

Rorschach 10.09.2018 13:41
0
1
477
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Функция load загружает единственный файл Emacs Lisp. Что вы хотите сделать здесь, так это сделать доступным весь каталог, что вы бы сделали, добавив его в путь загрузки:

(add-to-list 'load-path "/usr/share/emacs/site-lisp/elpa-src/ess-17.11/")

После этого вы должны обнаружить, что (require 'ess-site) работает - он найдет модуль ess-site в этом каталоге.


Тем не менее, вам может быть проще установить ESS с помощью диспетчера пакетов Emacs. Следуйте инструкция по активации архива пакета MELPA, затем введите M-x list-packages и установите ess из списка. Emacs загрузит пакет, скопирует его на ~/.emacs.d/elpa и организует загрузку.

Другие вопросы по теме