| SU | MO | TU | WE | TH | FR | SA |
|---|---|---|---|---|---|---|
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 | 1 | 2 | 3 | 4 | 5 | 6 |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
Clojure-CLIを使う必要が出てきたのでまとめる。
Clojure の project.clj と deps.edn を理解するでも書いたが、
Clojureにおけるnpmみたいな仕組みが2種類ある。
流れ的にはcljのほうに移るみたいだが、日本語の書籍はleinの頃の情報で参入障壁が高い。
leinで事足りるのにclj使うのは、依存関係の扱いが大きく異なってくるため。
cljで使われるdeps.ednは、GitHubなどを依存関係に使える。
対して、leinのproject.cljは、clojarsやmarvenといったリポジトリからjar取ってくるだけ。
npmとの対比で憶えるのが自分にはしっくりくる。
Windows環境ではclojureがPowershell空しか使えない。
clj/newのインストールが必要。$ clojure -Ttools install com.github.seancorfield/clj-new '{:git/tag "v1.2.399"}' :as clj-new
WindowsのPS環境だとエラーが出る。'{:git/tag "v1.2.399"}'を"{:git/tag """"v1.2.399""""}"に変えるとうまくいく。
$ clojure -Tclj-new <command> :name <project-name>
clj/new用のメタテンプレート:template <template-name>deps.ednに手動で追加。
{:deps {org.clojure/clojure {:mvn/version "1.11.1"}}}:{:deps {io.github.yourname/time-lib {:git/tag "v0.0.1" :git/sha "4c4a34d"}}}コマンド1発でできる手段はない。
$ clojureでREPL立ち上げるとインストールされる。
対応するものはない。deps.ednの:depsから削除すればよい。
パッケージはどこにあるかというと、~/.m2にある。
容量気になるなら削除すればよい。
$ clojure -M -m domain.main-namespace-mainと名の付く関数が呼ばれる。
直接対応するものはない。
$ clojure -M:<alias名>でdeps.ednの:aliasesを起動できるがシェルスクリプトではない。