emacs .emacs_Emacs,Clojure和固定包的故事

emacs .emacs

这就像试图在蹦床上固定袋鼠一样。 –西德·瓦德尔

如果您进行clojure [script]开发,则很可能通过Emacs和CIDER进行 。 通常,这种体验简直棒极了 ,但时不时地您会遇到一些怪癖。 当最新的CIDER发布时,情况就是如此,主要是因为我喜欢保留我的Emacs。

CIDER和clj-refactor具有不兼容的稳定版本,您需要确保这些稳定版本来自melpa-unstable

稳定与不稳定

我使用Clojure 支付账单 ,因此,我负担不起走到最前沿的步伐。 这就是为什么我确保所有Emacs软件包都来自稍微值得信赖的稳定版本流的原因:

(require 'package)

(setq package-archives
      '(("gnu" . "https://elpa.gnu.org/packages/")
        ("melpa" . "https://stable.melpa.org/packages/")
        ("melpa-unstable" . "https://melpa.org/packages/")))

(setq package-archive-priorities
      '(("melpa" . 50)
        ("gnu" . 10)
        ("melpa-unstable" . 0)))

软件包归档文件上设置的优先级可确保安装释放的软件包(来自melpa-stable )来代替不稳定的快照(如果存在)。 理想情况下,我希望从配置中删除melpa-unstable ,但是在某些情况下,这是必须保持的邪恶。 就像我写这篇文章的原因一样。

CIDER和

最新和最v0.17.0v0.17.0 )早于2018年5月,而最新的clj-refactor版本则相当古老,可追溯到2017年6月。这两个软件包现在不兼容,如果您同时在Emacs中安装了REPL将无法启动。 已经在clj-refactor问题跟踪器中多次报告了此问题,但是Java 9兼容性阻止了任何新发行的clj-refactor ,这意味着我们可能要等待很长时间才能拥有稳定的clojure IDE。包括重构。 我们需要摆弄自己:

;; 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 在评论中适当指出的dantheobserveruse-package本身正在等待稳定发行一段时间。 因此,只有一种方法可以正确固定它,类似于上面的第一个选项:

(add-to-list 'package-pinned-packages '(use-package . "melpa-unstable") t)

骇客骇客!

翻译自: https://www.javacodegeeks.com/2018/05/tale-emacs-clojure-pinned-packages.html

emacs .emacs

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值