¿Qué hacen específicamente las dependencias de project.clj: y son necesarias?

Estoy haciendo esta pregunta para aclarar una confusión que tengo sobre project.clj: dependencias y módulos especificados usando: use /: require.

Yo uso lein para construir. Quiero escribir un proyecto de Clojure y quizás, aparte de que dependa de una versión particular de Clojure, no quiero que el proyecto dependa de la versión particular de ningún módulo.

Por ejemplo:

(defproject bene-csv "1.0.0-SN"
  :description "A csv parsing library"
  :dependencies [[org.clojure/clojure "1.3.0"]
                 [clojure-csv/clojure-csv "1.3.2"]])

No necesito depender particularmente de clojure-csv 1.3.2. Mi código funcionará con cualquier versión que exista.

¿Debo especificar una dependencia para que se obtenga una versión localmente?

Si no es así, ¿qué otros mecanismos existen para obtener los módulos que necesito y dónde se ubicarían?

Gracias.

preguntado el 09 de marzo de 12 a las 15:03

2 Respuestas

contestado el 23 de mayo de 17 a las 11:05

Decirle a Leiningen "simplemente usa la versión que quieras; no me importa" es solo buscar problemas en el futuro. La repetibilidad es la base de la automatización: https://github.com/technomancy/leiningen/wiki/Repeatability

respondido 29 mar '12, 18:03

Gracias. He llegado a la misma conclusión con el tiempo. Es mejor ir con una versión determinada y luego actualizar y probar a medida que aparezcan nuevas versiones. - pulpo

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.