ライブリ依存関係の自動修正ツールancient

ウェブ技術 デジタルトランスフォーメーション技術 人工知能技術 自然言語処理技術 セマンティックウェブ技術 深層学習技術 オンライン学習&強化学習技術 チャットボットと質疑応答技術 ユーザーインターフェース技術 知識情報処理技術 推論技術  Clojure プログラミング

Clojureを使う上で便利なライブラリを健忘録を兼ねて紹介する。まずはproject.cljで管理するleiningenの依存ライブラリ(:dependencies以下に記述するもの)の更新を自動でチェックするツールであるlein-ancientプラグインについて。

個々のプロジェクトではなく、PCのルートに設置されている~/.lein/profiles.cljファイルの中に以下を記述する。

{:user {
	:plugins [
		[lein-ancient "0.7.0"]
	]
}}

後は以下のようにターミナルで打ち込むと、依存ライブラリのバージョンをチェックしてくれる。

$ lein ancient
[com.taoensso/timbre "2.6.2"] is available but we use "2.1.2"
[potemkin "0.3.3"] is available but we use "0.3.0"
[pandect "0.3.0"] is available but we use "0.2.3"

ライブラリだけではなく、snapshotやpluginの依存も以下のオプションを後ろにつけると可能となる。:allow-snapshots:allow-qualified and :allow-all, and the kind of artifacts with :plugins:java-agents全てのオプションを見るには :allをつければ良い。また、書き換えも自動でやってもらえるモードもある。

$ lein ancient upgrade :interactive

[com.taoensso/timbre "2.6.2"] is available but we use "2.1.2"
Do you want to upgrade? [yes/no] yes

[potemkin "0.3.3"] is available but we use "0.3.0"
Do you want to upgrade? [yes/no] no

[pandect "0.3.0"] is available but we use "0.2.3"
Do you want to upgrade? [yes/no] yes

2 artifacts were upgraded.

作ってしばらく経ったコードをもう一度使う時や、外部のコードを写経して使う場合に、あると非常に便利なライブラリとなる。

コメント

  1. […] ライブラリ依存関係の自動修正ツールancient […]

タイトルとURLをコピーしました