This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-03-04
Channels
- # announcements (4)
- # asami (38)
- # babashka (20)
- # beginners (188)
- # cider (1)
- # clara (11)
- # clj-kondo (103)
- # cljs-dev (15)
- # cljtogether (1)
- # clojure (138)
- # clojure-australia (5)
- # clojure-europe (33)
- # clojure-france (1)
- # clojure-losangeles (5)
- # clojure-nl (4)
- # clojure-norway (11)
- # clojure-serbia (3)
- # clojure-uk (11)
- # clojurescript (45)
- # community-development (3)
- # conjure (22)
- # core-async (18)
- # datomic (44)
- # defnpodcast (4)
- # deps-new (1)
- # depstar (49)
- # events (2)
- # fulcro (33)
- # girouette (2)
- # honeysql (37)
- # jackdaw (5)
- # jobs-discuss (16)
- # kaocha (3)
- # leiningen (4)
- # lsp (77)
- # malli (55)
- # membrane (4)
- # off-topic (61)
- # polylith (5)
- # quil (5)
- # reagent (33)
- # reitit (12)
- # remote-jobs (1)
- # reveal (4)
- # rewrite-clj (2)
- # sci (16)
- # shadow-cljs (22)
- # sql (1)
- # test-check (27)
- # tools-deps (44)
I'm having trouble installing the ion-dev tools as per https://docs.datomic.com/cloud/operation/howto.html#ion-dev. It looks like it's not able to retrieve the ion maven artifacts. When I run clj
in the root of the ion-starter
project, I get:
➜ ion-starter git:(master) ✗ clj
Downloading: com/datomic/ion/0.9.50/ion-0.9.50.pom from datomic-cloud
Downloading: com/datomic/ion/0.9.50/ion-0.9.50.jar from datomic-cloud
Error building classpath. Could not find artifact com.datomic:ion:jar:0.9.50 in central ( )
My $HOME/.clojure/deps.edn
looks like:
{
:aliases {
:ion-dev {:deps {com.datomic/ion-dev {:mvn/version "0.9.282"}}
:main-opts ["-m" "datomic.ion.dev"]}
}
:mvn/repos {
"datomic-cloud" {:url ""}
}
}
What am I doing wrong?https://clojure.org/reference/deps_and_cli#_maven_s3_repos This will provide further information for how to properly source credentials depending on which/where.
Can you try clj -M:ion-dev
from your actual project?
@U01NYKKE69G that gives me the same error..
My understanding from the instructions was that the only role I needed to add was the Datomic Administrator Policy, but when I look in that policy it doesn't provide access to the
bucket. Should it?
The bucket isn't yours
Is that your full deps.edn or just a snippet?
And you can aws s3 ls
?
that's the full deps.edn, with comments elided. i can run aws s3 ls
and it shows me my own buckets.
Try clj -M:ion-dev
in a new repl. The error above isn't even for ion-dev, but ion.
Running the command I provided?
well, not exactly the same. i get this:
WARNING: Use of :deps in aliases is deprecated - use :replace-deps instead
Downloading: com/datomic/ion-dev/0.9.282/ion-dev-0.9.282.pom from datomic-cloud
Downloading: com/datomic/ion-dev/0.9.282/ion-dev-0.9.282.jar from datomic-cloud
Error building classpath. Could not find artifact com.datomic:ion-dev:jar:0.9.282 in central ( )
So that's not the same error, but similar
Which version of cli tools are you running?
@U064X3EF3 Does this make any sense to you?
Can you provide the full home deps.edn?
;; The deps.edn file describes the information needed to build a classpath.
;;
;; When using the `clojure` or `clj` script, there are several deps.edn files
;; that are combined:
;; - install-level
;; - user level (this file)
;; - project level (current directory when invoked)
;;
;; For all attributes other than :paths, these config files are merged left to right.
;; Only the last :paths is kept and others are dropped.
{
;; Paths
;; Directories in the current project to include in the classpath
;; :paths ["src"]
;; External dependencies
;; :deps {
;; org.clojure/clojure {:mvn/version "1.9.0"}
;; }
;; Aliases
;; resolve-deps aliases (-R) affect dependency resolution, options:
;; :extra-deps - specifies extra deps to add to :deps
;; :override-deps - specifies a coordinate to use instead of that in :deps
;; :default-deps - specifies a coordinate to use for a lib if one isn't found
;; make-classpath aliases (-C) affect the classpath generation, options:
;; :extra-paths - vector of additional paths to add to the classpath
;; :classpath-overrides - map of lib to path that overrides the result of resolving deps
;; :aliases {
;; :deps {:extra-deps {org.clojure/tools.deps.alpha {:mvn/version "0.5.442"}}}
;; :test {:extra-paths ["test"]}
;; }
:aliases {
:ion-dev {:deps {com.datomic/ion-dev {:mvn/version "0.9.282"}}
:main-opts ["-m" "datomic.ion.dev"]}
;; :new {:extra-deps {seancorfield/clj-new {:mvn/version "1.1.228"}}
;; :main-opts ["-m" "clj-new.create"]}
;; :rebl {:extra-deps {com.cognitect/rebl {:mvn/version "0.9.242"}
;; org.openjfx/javafx-fxml {:mvn/version "15-ea+6"}
;; org.openjfx/javafx-controls {:mvn/version "15-ea+6"}
;; org.openjfx/javafx-swing {:mvn/version "15-ea+6"}
;; org.openjfx/javafx-base {:mvn/version "15-ea+6"}
;; org.openjfx/javafx-web {:mvn/version "15-ea+6"}}
;; :main-opts ["-m" "cognitect.rebl"]}
;; :reveal {:extra-deps {vlaaad/reveal {:mvn/version "1.1.163"}}
;; :ns-default vlaaad.reveal
;; :main-opts ["-m" "vlaaad.reveal" "repl"]
;; :exec-fn repl}
}
;; Provider attributes
:mvn/repos {
;; "central" {:url " "}
;; "clojars" {:url " "}
;; "cognitect-dev-tools" {:url " "}
"datomic-cloud" {:url ""}
}
}
Try renaming that file and try
{:aliases {:ion-dev {:extra-deps {com.datomic/ion-dev {:mvn/version "0.9.282"}}
:main-opts ["-m" "datomic.ion.dev"]}}
:mvn/repos {"datomic-cloud" {:url ""}}}
Did you copy/paste that directly?
Hmm, this isn't making sense at all to me
Do you have any custom settings in .m2/?
is that s3 url supposed to be public? i.e. if i have any s3 access should i be able to do aws s3 ls
It should be. That's why the instructions are just to add the dep and repo
That command doesn't work for me
that was it! i had an old datomic-cloud
key in my ~/.m2/settings.xml
- i removed it and now it works!
There we go
It’s not able to download from the Datomic s3 repo
You need aws creds active that have s3 permissions
Hm, I'm pretty sure I did this already. I added the Datomic Administrator Policy (`datomic-admin-taxman-us-east-2`) policy to the role I'm logged in with and can successfully run datomic client access taxman
, but I can't access the maven artifacts with those same creds. Upon closer inspection it looks like the Datomic Administrator Policy doesn't actually provide access to the
bucket. Is there another policy somewhere I need to add in order to enable this access?