例えばPhoenixのプロジェクトから使用することが前提のパッケージを開発/改修する場合、そのパッケージは専用のgithubリポジトリで管理することになると思います。
ここで、パッケージのアプリケーション名が"hoge"、githubリポジトリ名が"my/hoge"だとします。
開発中は当然Phoenixのプロジェクトからそのアプリケーションを参照して動作を確認しつつ作業を進めたいでしょうから、depsには下記のように書くことになると思います。
defp deps do
[{:phoenix, "~> 1.1.4"},
〜省略〜
{:hoge, github: "my/hoge"},
〜省略〜
end
しかし、depsの参照先がgithubのリポジトリになっていると、動作確認を行うためには、hogeに加えた変更を反映するために、毎回githubにpush -> deps.unlock
-> deps.get
という作業を繰り返さなければなりません。これは非常に面倒です。
こういったケースに対応するために、depsにはローカルディレクトリのパスを指定することが可能なpath
オプションが用意されています。
defp deps do
[{:phoenix, "~> 1.1.4"},
〜省略
{:hoge, path: "/path/to/hoge"},
〜省略〜
end
上記の/path/to/hoge
に、githubのmy/hoge
リポジトリをpullしてそちらで改修を行えば、hogeをいちいちgithubにプッシュすることなく変更の確認が可能です。(Phoenixを再起動すれば、変更を検知して自動的にコンパイルを行ってくれます)