Это все равно что пытаться придавить кенгуру на батуте. — Сид Ваддел
Если вы занимаетесь разработкой [сценария] 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, являются их собственными.  |