Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
7
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@poly_soft

Elixir/Phoenix用のパッケージをローカルで開発/改修する場合はdepsで"path:"指定をすると便利です

例えば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を再起動すれば、変更を検知して自動的にコンパイルを行ってくれます)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
7
Help us understand the problem. What are the problem?