Это все равно что пытаться придавить кенгуру на батуте. — Сид Ваддел
Если вы занимаетесь разработкой [сценария] clojure, скорее всего , вы делаете это через Emacs и CIDER . Опыт, как правило, не что иное, как удивительный , но время от времени вы сталкиваетесь с некоторыми причудами. Это был тот случай, когда вышел последний CIDER, в основном из-за того, что мне нравится хранить свои Emacs.
ТЛ; др
CIDER и clj-refactor имеют несовместимые стабильные выпуски, для которых вам нужно убедиться, что последние происходят от melpa-unstable
Стабильный против нестабильного
Я использую Clojure для оплаты счетов , и поэтому я не могу позволить себе слишком много ходить по кровавому краю. Вот почему я убедился, что все мои пакеты Emacs поступают из немного более надежного потока стабильных выпусков:
|
01
02
03
04
05
06
07
08
09
10
11
|
(require 'package)(setq package-archives(setq package-archive-priorities '(("melpa" . 50) ("gnu" . 10) ("melpa-unstable" . 0))) |
Приоритеты, установленные в архивах пакетов, гарантируют, что выпущенные пакеты (из melpa-stable ) будут установлены вместо их нестабильных снимков, если они существуют. В идеале я хотел бы удалить melpa-unstable из моей конфигурации, но есть случаи, в которых нужно хранить это зло. Как причина, почему я пишу это.
CIDER и clj-refactor и пиннинг
Последний и самый лучший CIDER ( v0.17.0 ) ранее в мае 2018 года, в то время как последний clj-refactor довольно древний, начиная с июня 2017 года. Эти два пакета теперь несовместимы, и если вы установили оба в свой Emacs, ваш REPL не сможет начать. Об этом много, много-много раз clj-refactor в clj-refactor с clj-refactor , но совместимость с Java 9 сдерживает любые новые выпуски clj-refactor , а это значит, что мы можем ждать довольно долго, прежде чем сможем получить стабильную среду разработки clojure. в том числе рефакторинги. Нам нужно возиться с собой:
|
1
2
3
4
5
6
7
8
|
;; manual package pinning:(add-to-list 'package-pinned-packages '(clj-refactor . "melpa-unstable") t);; or if you're using `use-package' to install packages:(use-package clj-refactor :ensure t :pin "melpa-unstable" ...) |
Вот и все. Теперь вы можете безопасно обновлять свои пакеты и снова наслаждаться своей clojure IDE.
Как должным образом отмечено в комментариях dantheobserver , сам use-package некоторое время ожидает стабильного выпуска . Таким образом, у вас есть только один способ правильно закрепить его, аналогично первому варианту выше:
|
1
|
(add-to-list 'package-pinned-packages '(use-package . "melpa-unstable") t) |
Счастливого взлома!
| Смотрите оригинальную статью здесь: рассказ о Emacs, Clojure и закрепленных пакетах
Мнения, высказанные участниками Java Code Geeks, являются их собственными. |