el-get ждет завершения "*bzr branch cedet"
У меня уже есть cedet, установленный на emacs24. Однако всякий раз, когда я запускаю emacs, я получаю сообщение об ошибке, что el-get безуспешно устанавливает cedet. Это занимает довольно много времени и терпит неудачу где-то в процессе.
Почему el-get загружает cedet, который уже поставляется по умолчанию, почему он выдает ошибку, и как я могу отключить это?
При запуске:
el-get waiting for "*bzr branch cedet" to complete
el-get is waiting for "make" to complete
error: el-get: make el-get could not build cedet [make EMACS=/usr/bin/emacs24]
1 ответ
Всякий раз, когда вы делаете el-get-install
Сначала el-get пытается установить зависимости, объявленные пакетом. Перед установкой пакета el-get добавляет пакет в файл состояния (по умолчанию он находится в ~/.emacs.d/el-get/.status.el
) и помечает его как обязательный пакет, и после его установки статус изменяется на installed
, При запуске emacs он проверяет этот файл, чтобы получить список пакетов, которые он должен установить, и если какой-либо пакет имеет статус "требуемый", он устанавливается первым.
В вашем конкретном случае рецепт для пакета ecb
объявляет cedet
как зависимость. Так el-get
пытался установить cedet
первый и не удалось, так какcedet
рецепт, который поставляется с el-get
пытается установить cedet
из источника. Этот шаг не удался, так как у вас не было texinfo
установлено что нужно было сделать cedet
, В следствии el-get
пометил cedet как необходимый пакет, и при каждом запуске он пытался установить его (и не смог).
Вы можете сделатьMxel-get-remove
RETname-of-offending-package
RET, чтобы el-get прекратил попытки установить этот пакет. Чтобы выяснить, почему не удается установить конкретный пакет, вы всегда можете проверить вывод процесса сборки пакета, переключившись в буфер. el-get: build
(Я не помню название правильно, но это что-то похожее).
Для вашего конкретного случая вы могли бы избежать установки cedet в целом, указав el-get
установить ecb
из мельпы по следующему рецепту. Сделайте Chv el-get-sourcesRET, чтобы прочитать о синтаксисе рецептов
(:name ecb
:description "Emacs Code Browser"
:type elpa
:repo ("melpa" . "http://melpa.milkbox.net/packages/"))
Добавьте рецепт выше в файл с именем ecb.rcp
в вашем личном каталоге рецептов. Я храню их в ~/.emacs.d/recipes
, местоположение не имеет значения, просто убедитесь, что оно находится первым в списке el-get-recipe-path
так что ваши рецепты имеют приоритет над встроенными. Что-то вроде
(add-to-list 'el-get-recipe-path "/path/to/personal/recipes")
должно быть достаточно, чтобы ваши личные рецепты el-get
,