web-dev-qa-db-ja.com

LeiningenとClojureのCLIツールの違いは何ですか?どのように使用すればよいですか?

最近Clojureで遊んでいます。 Clojureエコシステムで最も愛されている依存関係管理ツールは、私の知る限りLeiningenです。しかし、Clojureが CLIツール を提供していることもわかりました。これはおそらくLeiningenに取って代わる可能性があります。 Clojureでの経験が限られているため、LeiningenとそれらのCLIツールの違いをよく理解していません。これらのCLIツールは非常に軽量だと聞きましたが、どういう意味ですか?どのように使用すればよいですか?

15
theJian

CLIツールは、Leiningenよりも範囲が制限されています。これは、REPLをすばやく起動するために使用できる小さなツールです。tools.deps.alphaと組み合わせると、コードの実行とプルインに使用できます。サードパーティの依存関係。詳細については、 ここ を参照してください。

Leiningenは、これらすべてに加えて、次のことを実行できます。

  • デプロイメントアーティファクト(uberjars)を作成する
  • REPLサーバーを起動するか、実行中のサーバーに接続します
  • 混合プロジェクトを管理します(たとえば、Clojure + JavaまたはClojure + Clojurescript)
  • プロジェクトで任意のタスクを実行する
  • 依存関係を管理する
  • プラグインのサポート(リンター、デプロイメントツール)
  • mavenと統合する

Leinリポジトリには、サンプルプロジェクトファイル sample.project.clj が含まれています。これは少し圧倒されますが、Leinが実行できるすべてのことを示しています。

この時点で、Leinはアプリケーションとライブラリの構築にさらに役立ちます-それを行うために必要なすべての機能を備えているからです。とは言うものの、CLIツール+ tools.depsは急速に勢いを増しており、Leiningenから不足しているすべてのビットを追加するプロジェクトがあります。

5
lukaszkorecki