spacemacs

jumar 2022-01-19T15:29:02.035900Z

I'm getting this error when trying to run cider-jack-in for a deps.edn project:

cider-clojure-cli-jack-in-dependencies: Wrong type argument: sequencep, :dev
I have quite minimal deps.edn
{:paths ["src"]
 :deps {org.clojure/clojure {:mvn/version "1.11.0-alpha4"}
        medley/medley {:mvn/version "1.3.0"}
        cheshire/cheshire {:mvn/version "5.10.1"}
        }
 }
I have this config in custom-set-variables in .spacemacs
'(cider-clojure-cli-aliases :dev)
And in ~/.clojure/deps.edn:
:aliases
 {
  :new {:extra-deps {com.github.seancorfield/clj-new
                     {:mvn/version "1.2.362"}}
        :exec-fn clj-new/create
        :exec-args {:template "app"}}

  ;; this is the alias used by cider - customized via `(cider-clojure-cli-aliases :dev)` (see .spacemacs)
  :dev {:jvm-opts [...
The strange thing is that it works just fine in another project/folder.

jumar 2022-01-20T09:42:08.036300Z

@jr0cket Thanks for the advice. I had an extra paren in the deps.edn file (I'm not sure if it was there from the beginning or only after I simplified it).

Error building classpath. Error reading edn. Unmatched delimiter: } (/Users/jumar/workspace/empear/src/codescene/cloud-infra/deps.edn)
Nevertheless - I fixed it and clojure now works when running from command line. However, emacs is still reporting the same error (there's nothing more in the messages buffer)
Starting new CIDER session ...
cider-clojure-cli-jack-in-dependencies: Wrong type argument: sequencep, :dev
If I remove the :dev alias from .spacemacs config (comment out '(cider-clojure-cli-aliases :dev) )then it works but I'd really like to have it.

practicalli-johnny 2022-01-20T10:43:40.036500Z

@jumar I wonder if the same issue occurs if the :dev alias is included via a .dir-locals.el https://practical.li/spacemacs/clojure-projects/project-configuration.html

practicalli-johnny 2022-01-20T10:48:46.037700Z

This is the approach I have taken to include aliases by default. I assume the alias could also be set via a layer variable on the Clojure layer. Although none of that explains why it works for one project and not another. You could try renaming the user level alias to something like :env/dev and set that as the default alias, to ensure the right alias is being used (and not some local alias), but that seems unlikely

jumar 2022-01-20T10:52:55.037900Z

Thanks for the suggestions. I'll try these a bit later 🙂

practicalli-johnny 2022-01-20T10:53:23.038100Z

I define the :dev alias as a string when setting as a default value. I don't think that would be the issue, but I can't think what else to try.

practicalli-johnny 2022-01-19T22:22:39.036Z

As another project runs okay from CIDER, then it would seem more likely an issue with this particular project. I suggest running a terminal REPL process from the command line, ie. clojure, in the root of the project director that is not starting. That may help identify if its the project or cider at fault. If its the project, try delete .cpcache If not, check the Emacs messages buffer, SPC b m to see if something is not right with the clojure command line that was assembled to run the REPL from CIDER. The ~/.clojure/deps.edn snippet doesnt show the details of the :dev alias, but I cant see anything obvous with any of the other code I assume the other project is using the same version of org.clojure/clojure dependency