LoginSignup
19
18

More than 5 years have passed since last update.

陳腐化しない Clojure の情報を書くために気をつけるべきこと/あるいは情報が陳腐化していることに気付くために知っておきたいこと

Last updated at Posted at 2016-01-11

Clojure を始めたばかりの人が躓くポイントのひとつが日本語の情報が少なく、情報があっても古いため現在のバージョンとは勝手が違い役に立たない事が沢山あることだと思います。

具体的には Luminus というテンプレートがありますが、これを使った例をブログ記事などで書くときに以下のように書いてあることが多々あります。

$ lein new luminus myapp

そして、これを読んで一年後に同じように実行した人は全く違うテンプレートが展開されてしまい( Luminus の場合、 1 年違えば使用されているライブラリがかなり変わります)困り果ててしまいます。何故か。それは Leiningen の new タスクは特に指定がない場合、最新のテンプレートを自動的に clojars からダウンロードしてきて使うためです。

なので、何かしらのテンプレートを使った記事を書く人は次のように書くことを心がけるといいと思います。

$ lein new luminus myapp --template-version 2.9.8.81

こうすることによって特定のバージョンを明示的に指すことができ、後からブログなどの記事を読んだ人も全く同じように再現させることが出来ます。またこのようにテンプレートのバージョンを指定していない記事を見かけた場合は、今と違う可能性があるということを念頭に置いて読むと躓くことがなくなると思います。

またどのバージョンを使ったのか確認したい場合はローカルの Maven リポジトリを確認すると良いでしょう。

$ ls -l ~/.m2/repository/luminus/lein-template  
total 40
drwxr-xr-x  7 ayato_p  staff    238  1 11 13:26 2.9.8.81
drwxr-xr-x  7 ayato_p  staff    238  1 11 13:26 2.9.8.85
-rw-r--r--  1 ayato_p  staff  10367  1 11 13:26 maven-metadata-clojars.xml
-rw-r--r--  1 ayato_p  staff     40  1 11 13:26 maven-metadata-clojars.xml.sha1
-rw-r--r--  1 ayato_p  staff    266  1 11 13:26 resolver-status.properties

こうすることで現在ダウンロードされているテンプレートのバージョンが分かるはずです(テンプレートを使って雛形を作ったあとに、そのプロジェクトがどのテンプレートとバージョンを使って作られたのか知る術はありませんが、このようにすれば最新のバージョンが使われているので推測は可能です)。

あるいは現在の最新のテンプレートのバージョンを知りたい場合は Clojars を見ると良いでしょう。
例えば、 Luminus のテンプレートであれば次の URI で表示出来ます。
https://clojars.org/luminus/lein-template

また、バージョン情報はテンプレート以外でも大事ですが、ほとんどの場合ライブラリのバージョンは綺麗に書いてあるケースが多いと思うのでこれについてはあまり気にする必要はないかもしれません。ただ、ライブラリのバージョンが明記されてない場合は、あまり信用して読まない方がいいでしょう。

まとめ

  • テンプレートを使った情報を書く場合はテンプレートのバージョンを明記しよう。
  • テンプレートに限らずライブラリなどのバージョンも明記しよう。
  • テンプレート/ライブラリの README やドキュメントなどをちゃんと読もう。
19
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
18