find-deps를 사용하면 Clojars 및 Maven 검색 API를 통해 종속성을 빠르게 찾을 수 있습니다. 명령줄이나 REPL을 통해 사용하세요.
find-deps는 clj-fuzzy를 활용하여 저장소 API에서 반환된 검색 결과를 구체화합니다. 또한 종속성의 최신성과 종속성 그룹 ID의 인기도를 고려합니다. 우리는 이것이 매번 거의 완벽한 제안이 되기를 바랍니다!
이 작업을 수행할 수 있는 위치에 대한 몇 가지 아이디어는 아래 미래 섹션을 참조하세요. 특히, github에서 deps.edn
파일 검색을 활성화하면 좋을 것 같아요...
다음과 같이 쉽게 현재 deps.edn에 종속성을 추가하세요.
clj -A:find-deps -F:save priority-map
명령줄에서 find-deps를 사용하려면 ~/.clojure/deps.edn 맵에 별칭을 만듭니다.
{ :aliases { :find-deps { :extra-deps
{find-deps
{ :git/url " https://github.com/hagmonk/find-deps " ,
:sha " 6fc73813aafdd2288260abb2160ce0d4cdbac8be " }},
:main-opts [ " -m " " find-deps.core " ]}}}
-h
와 함께 find-deps를 호출하여 지원되는 옵션을 확인할 수 있습니다.
% clj -A:find-deps -h
find-deps
Usage: [options * ] [search-strings * ]
Options:
-s, --sources SOURCES :clojars:mvn Concatenated source types
-R, --rank METHOD :fuzzy Ranking method - :fuzzy, :regex
-F, --format FORMAT :deps Format for printing results - :deps, :merge, :table, :save, :cli
-l, --limit NUM 1 Limit per-search results to NUM
-h, --help
http-kit과 같은 종속성을 검색합니다.
clj -A:find-deps http-kit
{ :deps {http-kit/http-kit { :mvn/version " 2.3.0 " }}}
여러 종속성 검색:
clj -A:find-deps http-kit tools.logging priority-map
{ :deps
{http-kit/http-kit { :mvn/version " 2.3.0 " },
org.clojure/tools.logging { :mvn/version " 0.5.0-alpha " },
org.clojure/data.priority-map { :mvn/version " 0.0.9 " }}}
다양한 쿼리 인수를 사용하여 여러 호출을 연결합니다.
clj -A:find-deps -s:mvn roaringbitmap | clj -A:find-deps -s:clojars -R:regex -l 5 io.pedestal
{ :deps
{org.roaringbitmap/RoaringBitmap { :mvn/version " 0.7.13 " },
io.pedestal/pedestal.jetty { :mvn/version " 0.5.3 " },
io.pedestal/pedestal.tomcat { :mvn/version " 0.5.3 " },
io.pedestal/pedestal.log { :mvn/version " 0.5.3 " },
io.pedestal/pedestal.service { :mvn/version " 0.5.3 " },
io.pedestal/pedestal.interceptor { :mvn/version " 0.5.3 " }}}
검색 결과를 현재 프로젝트의 deps.edn
에 병합합니다. 대신 :save
지정하여 이러한 결과를 deps.edn에 저장할 수도 있습니다.
clj -A:find-deps -F:merge http-kit tools.logging priority-map
{ :paths [ " src " ],
:deps
{org.clojure/clojure { :mvn/version " 1.9.0 " },
org.clojure/tools.logging { :mvn/version " 0.5.0-alpha " },
org.clojure/spec.alpha { :mvn/version " 0.1.143 " },
clj-fuzzy { :mvn/version " 0.4.1 " },
http-kit { :mvn/version " 2.3.0 " },
tools.deps.alpha
{ :git/url " https://github.com/clojure/tools.deps.alpha " ,
:sha " 884d7ae5b9c228ff795e4385291708102f1cd46d " },
metosin/jsonista { :mvn/version " 0.1.1 " },
org.clojure/data.priority-map { :mvn/version " 0.0.9 " },
inflections { :mvn/version " 0.13.0 " },
http-kit/http-kit { :mvn/version " 2.3.0 " }}
; ; ... snip
}
테이블에서 여러 일치 항목을 반환하는 문자열 검색:
clj -A:find-deps -F:table -l 10 " apache kafka "
| :lib | :version |
| -----------------------------------+---------- |
| org.apache.kafka/kafka-tools | 1.1.0 |
| org.apache.kafka/kafka_2.9.2 | 0.8.2.2 |
| org.apache.kafka/kafka_2.9.1 | 0.8.2.2 |
| org.apache.kafka/kafka_2.8.0 | 0.8.1.1 |
| org.apache.kafka/kafka_2.8.2 | 0.8.1 |
| org.apache.hadoop/hadoop-kafka | 3.1.0 |
| org.apache.kafka/kafka-streams | 1.1.0 |
| org.apache.kafka/kafka-clients | 1.1.0 |
| org.apache.kafka/kafka-examples | 1.1.0 |
| org.apache.kafka/kafka-perf_2.8.0 | 0.8.1.1 |
deps의 명령줄 호출을 인쇄합니다.
clj -A:find-deps -F:cli http-kit jsonista
clojure -Sdeps ' {:deps {http-kit/http-kit {:mvn/version "2.3.0"}, metosin/jsonista {:mvn/version "0.2.1"}}} '
find-deps.core
네임스페이스에는 REPL에서 사용할 수 있는 여러 도우미가 포함되어 있습니다. Rebel-readline에 대한 별칭이 있다고 가정합니다.
clj -A:rebel
[Rebel readline] Type :repl/help for online help info
user= > (use ' find-deps.core)
nil
user=> (print-deps "http-kit")
| :lib | :version |
|-------------------+----------|
| http-kit/http-kit | 2.3.0 |
nil
user=> (deps "http-kit")
{:deps #:http-kit{http-kit #:mvn{:version "2.3.0"}}}
더 많은 도우미를 보려면 find-deps.core
네임스페이스를 참조하세요.
add-lib
지원