2
votes

Fresh install of Ubuntu 20.04 Added openjdk-11 and lein 2.9.3

$ sudo apt-add-repository ppa:kelleyk/emacs

Installed GNU Emacs 26.3 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.14) of 2020-03-26, modified by Debian

Tried the instructions on the cider Getting Started page

M-x package-refresh-contents
M-x package install <RET>
cider <RET>

The cider package isn't found. Tried to package-list-packages - list doesn't contain cider. What am I missing?

Finally did the steps from the following link to get it to work Brave Clojure book companion repo

3
what is the value of package-archives? does it contain melpa? – Rorschach
@Rorschach - your question sent me on a quest on how to print that variable >> M-: >> M-x ielm and finally to solve the problem – Gishu

3 Answers

6
votes

Not sure why the cider instructions don't mention this.

You need to create a ~/.emacs.d/init.el file with the following contents

(require 'package)

(add-to-list 'package-archives
             '("melpa" . "https://melpa.org/packages/") t)

(package-initialize)

(when (not package-archive-contents)
  (package-refresh-contents))

Save and restart emacs.

M-x package-list-packages check the archive column shows packages from gnu as well as melpa archives.

  • Sometimes you would see an error Failed to download ‘gnu’ archive. - this one is a flaky one. A restart and/or M-x package-refresh-contents fixed it for me.

Now we have the sources configured correctly.

  1. Install: M-x package-install <RET> cider <RET>

  2. M-x package-list-packages - Move to the end of the listing to see Status=installed packages.

  3. Test: M-x cider-jack-in. Answer no to the prompt indicating you are not in a clojure project. Soon you should be dropped to a user> prompt - ready to REPL and roll.

0
votes

You may also consider trying out popular existing "bundle setups' like Spacemacs and Prelude Both of which have all the tooling necessary for Clojure development built-in.

0
votes

In my case, modifying the init file didn't help because there were a few init files and I couldn't figure out which one to pick and where to insert the code. I'm new to Emacs. Instead of modifying .emacs or init file manually, you can just change the package-archives variable by typing the following:

M-x customize-variable package-archives

By default, you should only have a GNU source set. Go ahead and add Melpa's name and URL (https://melpa.org/packages/) too by clicking INS. Then apply the changes. Next, type the following commands into the terminal:

M-x package-refresh-contents  [RET]
M-x package-install [RET] cider [RET]

You should be all set.