js2-refactor от melpa: Пакет `emacs-24.1' недоступен

Я использую GNU Emacs 24.3.50.1 (x86_64-pc-linux-gnu, GTK+ Version 3.6.0), но когда я пытаюсь использовать пакет (melpa) для установки js2-refactor, я получаю эту странную ошибку:

package-compute-transaction: Package `emacs-24.1' is unavailable

Есть идеи, о чем это может быть? На самом деле это может происходить из-за зависимости js2-refactor: js2-mode. Выдает ту же ошибку.


person user2054900    schedule 23.04.2013    source источник
comment
Может быть, вы установили package.el для версий Emacs до 24? Если вы используете встроенную версию, M-x locate-library RET package должен показывать путь, заканчивающийся на lisp/emacs-lisp/package.elc. Если нет, может помочь избавление от указанного файла.   -  person legoscia    schedule 24.04.2013
comment
@legoscia: Это сделало это! У меня была старая версия (версия 0.9 2007 г.), работающая в каталоге старых режимов. Очистка и перезапуск решили это. Спасибо.   -  person user2054900    schedule 24.04.2013
comment
@legoscia твой совет решил и мою проблему. Не могли бы вы добавить это как ответ, чтобы его можно было принять + получить голосование?   -  person Steen    schedule 25.04.2013


Ответы (2)


Причиной этого может быть затянувшаяся старая версия package.el в вашем пути загрузки. package.el был официально включен в GNU Emacs 24, а загружаемый файл для более ранних версий Emacs не поддерживает зависимости от встроенных пакетов (здесь emacs-24.1 считается встроенным пакетом).

Введите M-x locate-library RET package, чтобы узнать, откуда Emacs берет package.el. Указанный путь должен заканчиваться на lisp/emacs-lisp/package.elc. Если это не так, попробуйте избавиться от указанного файла (или изменить путь загрузки, чтобы Emacs не нашел его).

person legoscia    schedule 25.04.2013
comment
Можно ли тогда выгрузить неисправный package.el или вам нужно перезапустить Emacs? - person Arnaud Meuret; 07.07.2016
comment
Не уверен. Загрузки правильного файла с помощью M-x load-file может быть достаточно, но есть только один способ узнать это. (Возможно, в старой версии для переменной было установлено значение, которое не будет работать с новой версией и т. д.) - person legoscia; 07.07.2016

Я решил аналогичную проблему, удалив и переустановив emacs (macOS/homewbrew).

person wprl    schedule 30.10.2017