2
 (ns csvdb.core
  (:require [clojure-csv.core :as csv]))

Есть следующая зависимость в проекте, как добавить теперь нужную библиотеку в проект? Пробовал перейти в папку проекта и выполнить lein deps, вот результат:

Retrieving org/clojure/clojure/1.5.1/clojure-1.5.1.pom from central
Retrieving clojure-csv/clojure-csv/2.0.1/clojure-csv-2.0.1.pom from clojars
Retrieving org/clojure/clojure/1.5.1/clojure-1.5.1.jar from central
Retrieving clojure-csv/clojure-csv/2.0.1/clojure-csv-2.0.1.jar from clojars

В папке ничего не появилось, импорт так и не работает, повторный ввод lein deps не делает ничего

(defproject csvdb "0.1.0-SNAPSHOT"  
  :description "FIXME: write description"  
  :url "http://example.com/FIXME"  
  :license {:name "Eclipse Public License"  
            :url "http://www.eclipse.org/legal/epl-v10.html"}  
  :dependencies [[org.clojure/clojure "1.8.0"]  
                 [clojure-csv "2.0.1"]])  

Could not locate clojure_csv/core__init.class or clojure_csv/core.clj on classpath. Please check that namespaces with dashes use underscores in the Clojure file name.

PS в примере вызова lein deps указал clojure 1.5.1, поменял в project на 1.8.0 (установлена эта версия), ничего не изменилось.

Нашел папку, куда скачался jar-архив этой библиотеки, что с ним делать?

Hive
  • 138
  • Покажите ваш project.clj. И объясните подробнее, что значит "не работает". Вы получаете ошибку? Если да, покажите и её. – Sergey Gornostaev May 10 '17 at 05:39
  • Буду дома покажу project, а сообщение ошибки говорит что не может найти clojure-scv – Hive May 10 '17 at 08:46
  • Меня интересует её точный текст. – Sergey Gornostaev May 10 '17 at 08:54
  • Страааанно, не смог повторить вашу проблему... Версия lein какая? – Sergey Gornostaev May 10 '17 at 18:09
  • Версия 2.7.1 У вас аналогичный код исправно работает? А куда устанавливаются зависимости? – Hive May 10 '17 at 18:19
  • Да, работает. Leiningen использует локальный репозиторий maven, который располагается в подкаталоге .m2 каталога пользовательского профиля. – Sergey Gornostaev May 10 '17 at 18:23
  • Можете описать порядок действий после lein deps ? У меня там же находится библиотека, может я что то не так делаю при попытке запустить код? – Hive May 10 '17 at 18:47
  • lein new csvdb 2. В project.clj добавляю [clojure-csv "2.0.1"] в dependencies 3. В src\csvdb\core.clj в require добавляю [clojure-csv.core :as csv] Всё, после этого можно запускать. Можно даже без выполнения lein deps, так как этот шаг автоматически выполнится при выполнении зависимых от него шагов - test, run, jar и т.д. Я для уверенности добавил ещё код, который csv читает и пишет.
  • – Sergey Gornostaev May 10 '17 at 18:58
  • А как можно запустить такой код в repl, а не через lein run ? – Hive May 10 '17 at 19:02
  • Выполнить lein repl в корне проекта 2. Выполнить (in-ns 'csvdb.core) 3. Выполнить (-main) или любую другую форму.
  • – Sergey Gornostaev May 10 '17 at 19:13
  • Да уж, я запускал repl не из той папки, а для lein run не хватало :main. Спасибо за помощь! – Hive May 10 '17 at 19:30
  • @SergeyGornostaev, перенеси свои комментарии в ответ – Grundy May 15 '17 at 06:33