Fork me on GitHub

mogge 😼


Why do I always seem to have problems with NPM...


when ever I change project it is a pain to get it running again.


@thomas I suspect because npm doesn't depend on exact versions by default, and mass transitive minor version updates do break things.


yes, probably something like that... and it is a pain.


in my “new things now I’m back doing some clojure after an 18 month gap” - I see now clojure has built-in dependency management tools. Are people generally using this as well as leiningen/boot? Or instead of? or not using it much at all? I’m mostly used to leiningen, because it’s very familiar. But at a minimum, the deps.edn stuff looks great for small ad-hoc scripts that don’t deserve a full project structure


@korny I may be mistaken, but I think a lot of active discussion around deps happens in #tools-deps


People haven't picked it up much @korny, it doesn't do building. It has been integrated into boot and lein via plugins though.


@korny I think it's early days with clj / deps.edn but I expect to see it more and more by the time 1.10 lands. There's a Mac installer (via brew) but nothing automated for Linux or Windows yet. A PowerShell install script is being worked on for Windows. For Linux, there's and install script, but you can't just use apt etc. At least, not yet. Several Contrib libraries have added deps.edn to support the use of git deps and some Contrib libraries have switched from using Leiningen as a local dev convenience to using clj / deps.edn. Cognitect (and a few other shops) have produced tooling around this -- Cognitect Labs' test runner is really nice, Juxt has pack to build JARs/uberjars, Health Finch has depstar.


The idea of a standardized way to manage dependencies and run code directly from source (via local or git deps) is very appealing to a lot of people tho'. But in the same way Boot hasn't (yet) displaced Leiningen, I think it'll be a long, slow road for clj / deps.edn to gain that level of traction.


It looks handy at least for quick scripts - I have a clojure script to do some git logging, but I want to transform the result in a once-off way for a particular project - it’d be nice to have this option for running something quick. I’m guessing it’s trying to be closer to Ruby’s bundler whereas lein/boot are closer to rake


@korny Yeah, it's a runner, not a build/make tool, but even so you can use :main-opts to run tooling So clj -A:test:runner will run all my tests in a project, and clj -A:proto:nrepl will start an nREPL server for use with Atom/ProtoREPL etc. I can also create new projects with clj -A:new app myname/my-app