Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

I can't run Dirac on MacOS, it keeps complaining about org.clojure/data.json - even though it is listed as a dependency

Aperta
#98 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
clojure, macos
Ambito
cli, devtools

Direzione di ricerca

Inizia con le istruzioni di installazione e l’entry point dirac, quindi esamina il fallimento in dirac.nrepl.compilation.direct in direct.clj. Riproduci il comando sia al di fuori di un progetto sia con il project.clj mostrato, verificando come viene assemblato il classpath di runtime. Il lavoro è completato quando viene identificato il motivo per cui org.clojure/data.json non è disponibile e viene documentata o corretta la modalità di invocazione supportata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Hi,

I am trying to install Dirac on a Macbook Air M1 running Monterey 12.5.

I am following the documentation which indicates:

curl -s https://raw.githubusercontent.com/binaryage/dirac/master/install > /tmp/dirac.install && sudo bash /tmp/dirac.install

The installation seems to have worked out since it exists on binaries:

   Pedros-MacBook-Air:bin pedro$ pwd
   /usr/local/bin

   Pedros-MacBook-Air:bin pedro$ ls -1
   dirac
   lein

Unfortunately, when I go to the 2nd step on manual which is running dirac, the error below is retrieved:

   Pedros-MacBook-Air:bin pedro$ dirac
   WARNING: update-vals already refers to: #'clojure.core/update-vals in namespace: clojure.tools.analyzer.utils, being replaced by: #'clojure.tools.analyzer.utils/update-vals
   WARNING: update-keys already refers to: #'clojure.core/update-keys in namespace: clojure.tools.analyzer.utils, being replaced by: #'clojure.tools.analyzer.utils/update-keys
   WARNING: update-vals already refers to: #'clojure.core/update-vals in namespace: clojure.tools.analyzer, being replaced by: #'clojure.tools.analyzer.utils/update-vals
   WARNING: update-keys already refers to: #'clojure.core/update-keys in namespace: clojure.tools.analyzer, being replaced by: #'clojure.tools.analyzer.utils/update-keys
   WARNING: update-vals already refers to: #'clojure.core/update-vals in namespace: clojure.tools.analyzer.passes, being replaced by: #'clojure.tools.analyzer.utils/update-vals
   WARNING: update-vals already refers to: #'clojure.core/update-vals in namespace: clojure.tools.analyzer.passes.uniquify, being replaced by: #'clojure.tools.analyzer.utils/update-vals
   Execution error (FileNotFoundException) at dirac.nrepl.compilation.direct/eval15283$loading (direct.clj:1).
   Could not locate clojure/data/json__init.class, clojure/data/json.clj or clojure/data/json.cljc on classpath.

Full report at:
/var/folders/fh/7d_1drwd2ps3zw03j9ftkqs80000gn/T/clojure-1010884132545121253.edn

Initially, I tried running it at home folder. I thought it would work out fine.

Then, I decided to run it inside a project folder that had the file clojure/data/json.clj
included in the the project.clj file. Unfortunately, even this approach did not work out.

Below you see a simplified version of the project.clj file:

(defproject abcd    ; Should be copied from shadow-cljs.edn
  :description "xxxx"
  :url "xxxx"

  :dependencies [[org.clojure/clojure "1.9.0"]
                 [org.clojure/clojurescript "1.10.339"]
                 [org.clojure/tools.nrepl "RELEASE"]
                 [binaryage/devtools ~devtools-version]
                 [binaryage/dirac ~dirac-version]
                 [org.clojure/data.json "2.4.0"]
                 [figwheel ~figwheel-version]
                 ;; Selmer for templating of .json config files
                 [selmer "1.12.50"]]

... (omitted content because it seems irrelevant) ...

  :profiles {:repl
             {:repl-options {:port             8230
                             :nrepl-middleware [dirac.nrepl/middleware]
                             :init             (do
                                                 (require 'dirac.agent)
                                                 (dirac.agent/boot!))


}}})

1 - I thought Dirac would work out even outside of the project folder. Is it necessary to be in the project folder?

2 - Why is Dirac complaining about the Json library even though it is listed as a dependency?
Is there any difference between clojure/data/json.clj (error message retrieved) and org.clojure/data.json (my dependency)?

Thanks!

Lingua principale
Clojure
Stelle
775
Fork
29
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di binaryage/dirac

Tutte le issue di binaryage/dirac

Issue simili

Altre issue su Clojure

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.