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