SSブログ

ローカルにある依存プロジェクト・パッケージを参照する [Elixir]

自分用メモ

自分が書いているライブラリが依存しているプロジェクト・パッケージを
ローカルにおいて、依存パッケージのソースをちょっと編集して動作確認したい時がある。

Elixir でも絶対できるはず!と思ってたけど、調べずにごまかしながらやってきた。
今回、行き詰まって調べた。
ついでに、他のプログラミング言語でも調べた。

相対パスが指定できるところは、大体 github や gitlab のリポジトリの URL も受け付けるようになっている。

Elixir
--------

https://qiita.com/hakaicode/items/6466ee9c2acefc7d8899

例えば、依存するのが foo というプロジェクトなら mix.exs に
{:foo, path: "../foo", override: true},
とか書いて、
foo の project で

mix deps.get
mix archive.install
と、すればいいみたい。

Go
--------

go get でダウンロードされた ~/go/pkg/mod/の下のソースを編集するとやりたいことができるけど、
go mod edit -replace とか、 go.mod を直接書き換えるとかして、指定パスをモジュールの参照パスにできるみたい
https://www.asobou.co.jp/blog/web/go-mod-replace

go.mod を書き換えるのは綺麗だけど、覚えてられないし、戻すの忘れそう。


Python
--------

pip instal -e パス

でできるけど、自分は、 venv 環境 pip install した site-package の中のファイルを編集してる。
複数ディレクトリに置かれたパッケージをインストールするときに便利な時はあると思うけど自分はやったことない。

github のリポジトリにあるパッケージを
pip instal -e git+https://github.com/some/package

とかしたことはある。

Rust
--------

cargo.toml の

[dependencies] に
bar = { path = "../bar" }

と書けばいい。
https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html
コメント(0) 
共通テーマ:日記・雑感