clojure: profiles.clj не соблюдается в некоторых проектах при использовании сидра

Я столкнулся с той же проблемой, которая упоминается в последнем комментарии в https://stackoverflow.com/a/25401281/4329629 (автор Ю Шэнь)

Я не знаю, почему добавление :plugins [[cider/cider-nrepl "0.7.0"]] в ~/.lein/profiles.clj не работает. Но то же самое выражение: :plugins [[cider/cider-nrepl "0.7.0"]] в файле project.clj моего проекта сработало как положено.

До сих пор я думал, что все мои проекты ведут себя так, но сегодня я обнаружил кое-что другое. Может быть намек на то, что идет не так? Два проекта, которые ведут себя по-разному, имеют следующую структуру:

==================== project-1/project.clj (сидр не работает) ========== ==========

(defproject clj "0.1.0-SNAPSHOT"
  :description "Frontend for stox@gryffin"
  :url "http://stox.gryff.in/"
  :dependencies [[selmer "0.6.9"]
                 [clj-time "0.6.0"]
                 [http-kit "2.1.18"]
                 [com.taoensso/timbre "3.2.1"]
                 [noir-exception "0.2.2"]
                 [im.chit/cronj "1.4.3"]
                 [environ "1.0.0"]
                 [org.clojure/tools.nrepl "0.2.3"]
                 [clojure-complete "0.2.4"]
                 [org.clojure/clojure "1.6.0"]
                 [org.clojure/data.json "0.2.5"]
                 [ring-server "0.3.1"]
                 [com.taoensso/tower "2.0.2"]
                 [com.novemberain/monger "2.0.0"]
                 [org.clojure/math.numeric-tower "0.0.4"]
                 [lib-noir "0.8.4"]]
  :jvm-opts ["-Xmx512m" "-Xms128m"]
  :plugins [[lein-environ "1.0.0"]]
  :main clj.core)

==================== project-2/project.clj (сидр работает) =================== знак равно

(defproject project-euler "0.1.0-SNAPSHOT"
  :description "Solve problems on project-euler website"
  :url "http://projecteuler.net/problems"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.6.0"]
                 [org.clojure/core.memoize "0.5.6"]
                 [expectations "2.0.13"]
                 [org.clojure/math.numeric-tower "0.0.4"]
                 [org.clojure/math.combinatorics "0.0.8"]
                 [criterium "0.4.3"]
                 [org.clojure/tools.trace "0.7.8"]
                 [com.taoensso/timbre "3.2.1"]]
  :plugins [[lein-autoexpect "1.0"]])

==================== ~/.lein/profiles.clj ====================

{:user {:plugins [[cider/cider-nrepl "0.9.0-SNAPSHOT"]]}}

РЕДАКТИРОВАТЬ: 1. сообщение об ошибке видно в сидре для проекта-1

; CIDER 0.9.0alpha (package: 20150114.512) (Java 1.7.0_55, Clojure 1.6.0, nREPL 0.2.6)
WARNING: The following required nREPL ops are not supported: 
apropos classpath complete eldoc info inspect-start inspect-refresh inspect-pop inspect-push inspect-reset macroexpand ns-list ns-vars resource stacktrace toggle-trace-var toggle-trace-ns undef
Please, install (or update) cider-nrepl 0.9.0-SNAPSHOT and restart CIDER
WARNING: CIDER's version (0.9.0-snapshot) does not match cider-nrepl's version (not installed)
  1. (отрезано) lein deps :tree

    предупреждение [cider/cider-nrepl "0.9.0-20150118.121230-2"] [cljs-tooling "0.1.3" :exclusions [[org.clojure/clojure]]] [комплимент "0.2.1-20141130.115631-1" : исключения [[org.clojure/clojure]]] [устарело "0.1.1"] [org.clojure/java.classpath "0.2.0" :исключения [[org.clojure/clojure]]] [org.clojure/tools .trace "0.7.8": исключения [[org.clojure/clojure]]] [org.tcrawley/dynapath "0.2.3": исключения [[org.clojure/clojure]]]


person Pradnyesh Sawant    schedule 26.01.2015    source источник
comment
Вы пробовали lein deps:tree? Кроме того, я пробовал использовать релизную версию сидра, чтобы убедиться, что она воспроизводима. Наконец, откуда вы знаете, что profiles.clj не соблюдается?   -  person Phil Lord    schedule 26.01.2015
comment
Какая версия лейна? Обновили ли вы свои пакеты emacs (при условии, что используете melba). Важно, чтобы пакет emacs sider и версии lein cider nrepl были синхронизированы. Я видел это сообщение только тогда, когда их нет.   -  person Tim X    schedule 27.01.2015
comment
@TimX: 1. Leiningen 2.5.0 на Java 1.7.0_55 64-битная виртуальная машина сервера OpenJDK. 2. версия cider cider-20150114.512, которая соответствует cider-nrepl 0.9.0-SNAPSHOT   -  person Pradnyesh Sawant    schedule 27.01.2015
comment
Есть новая версия Klein 2.5.1, выпущенная буквально несколько дней назад. Предлагаем вам обновить его для начала. Не знаю, как решить вашу проблему дальше. Я использую ту же версию на Linux-боксе без проблем. Только что отметил есть новый сидр-20150126.1253. Все, что я могу предложить, это начать с минимальной конфигурации и начать добавлять вещи, проверяя после каждого изменения и проверяя, поможет ли это сузить причину.   -  person Tim X    schedule 28.01.2015
comment
Я понял, что моя проблема заключалась в том, что я перепутал каталог с profiles.clj в Windows. Это не в ~/.lein, а в C:\Users\‹user_id_in_windows›\.lein\profiles.clj, как только я поместил настройку в правильный каталог, он работает, как и ожидалось. Нет больше проблем.   -  person Yu Shen    schedule 10.03.2015


Ответы (2)


$ lein version
Leiningen 2.5.1 on Java 1.8.0_25 OpenJDK 64-Bit Server VM

My ~/.lein/profiles.clj:

{:user {:plugins [[cider/cider-nrepl "0.9.0-SNAPSHOT"]]
        :dependencies [[org.clojure/tools.nrepl "0.2.7"]]}}

(точно так, как предлагает https://stackoverflow.com/a/15172955/1047788)

Запуск lein repl в пустом каталоге:

$ lein repl
nREPL server started on port 40595 on host 127.0.0.1 - nrepl://127.0.0.1:40595
REPL-y 0.3.5, nREPL 0.2.6
Clojure 1.6.0
OpenJDK 64-Bit Server VM 1.8.0_25-b18
Docs: (doc function-name-here)

после создания проекта с lein new app; cd app

$ lein repl
Retrieving org/clojure/clojure/1.6.0/clojure-1.6.0.jar from central
nREPL server started on port 55421 on host 127.0.0.1 - nrepl://127.0.0.1:55421
REPL-y 0.3.5, nREPL 0.2.7
Clojure 1.6.0

Я склонен полагать, что это может быть проявлением какой-то ошибки в Leiningen, но я не уверен... (почему он загружает clojure?)

person user7610    schedule 08.03.2015

ОБНОВЛЕНО, МАЙ 2021 Г.

Измените файл ~/.lein/profiles.clj на следующее:

{:user {:plugins [[cider/cider-nrepl "0.26.0-SNAPSHOT"]]
        :dependencies [[nrepl "0.8.3"]]}}

Спецификация зависимости для nrepl указана на cider-nrepl странице Clojars.

person Minh Tú Hoàng    schedule 09.05.2021