starting repl lein clojure leiningen

clojure - repl - Instalación de librerías con leiningen sin crear proyecto.



lein repl (4)

En lein 2 puede actualizar profiles.clj con el paquete que desea instalar:

~/user/.lein/profiles.clj

Con la primera ejecución de cualquier proyecto con lein, el repositorio local se actualizará con lo que se publicó en profiles.clj.

A veces simplemente ejecuto lein deps sin estar en una carpeta de proyecto, esto actualizará el repositorio local para usted.

De esta manera puede agregar cualquier biblioteca a su project.clj o llamarla desde repl y se extraerá del repositorio local.

Estoy aprendiendo Clojure y vengo de un fondo Ruby.

Estoy buscando algo análogo a la gem install <library> . Los diversos conjuros de lein install de lein install no parecen ajustarse a este proyecto de ley.

¿Hay una manera de simplemente instalar una biblioteca localmente para que se pueda hacer referencia en el REPL sin la necesidad de crear un proyecto?


Java y, por lo tanto, no tienen la idea de bibliotecas instaladas globalmente. Siempre debe crear una ruta de clase con el conjunto mínimo de dependencias. De alguna manera, necesita especificar y administrar esta ruta de clase y la forma más sencilla de hacerlo es con leiningen, que requiere un proyecto.

leiningen automatiza el proceso de recuperación de las bibliotecas remotas y las coloca en su repositorio local, que es algo similar a la instalación de gemas, pero estas bibliotecas no están disponibles automáticamente para un REPL.

La forma más fácil de tener un conjunto de bibliotecas siempre disponible es tener un proyecto ''scratch'' que utilice para los experimentos REPL antes de comenzar un nuevo proyecto. No es demasiado de una sobrecarga.


Parece que quieres instalar una librería con lein. Aquí está el plugin , instalarlo y usarlo como

lein localrepo install <filename> <[groupId/]artifactId> <version>


Si su objetivo es simplemente cargar bibliotecas en el REPL considere usar alembic . Carga dinámicamente los classpaths, resuelve las dependencias y extrae bibliotecas automáticamente de los repositorios.

Aquí hay un caso de uso:

(require ''alembic.still) (alembic.still/distill ''[enlive "1.1.1"])

Simplemente requiere que agregue la siguiente entrada a su .lein/project.clj :

{:dev {:dependencies [[alembic "0.1.1"]]}}

Ver esta respuesta