我有幾個有用的庫,我已經爲elixir構建過。我已經把它們放在十六進制上了。我已經在庫B中使用庫A,並且我已經將庫B作爲庫A的依賴項。現在當然庫A不會生成。如何在組合中管理包相互依賴關係?
加載時出錯項目:a。在/用戶/我/有趣/ A/DEPS/AR **(混合)試圖從加載ArgumentParser.Mixfile「/用戶/我/有趣/ A/DEPS/A/mix.exs」,但具有相同名稱的另一個項目在已定義的‘/Users/jistone/fun/a/mix.exs’
這裏是我到目前爲止已經試過:
- 從deps文件夾中刪除
a
- 刪除
a
from mix.lock - change
deps/b/mix.exs
,將path:
添加爲a
deps條目以指向項目文件夾。 - 改變
mix.exs
爲a
和b
在各自的項目文件夾
指向所有的失敗與相應的錯誤消息。
所以問題是:如何通過構建當前項目來滿足混合來識別依賴關係?
編輯:更多細節
包a
是用於解析命令行參數的庫。程序包b
是一個用於生成README.md文件的混合任務。在包b
中,我使用包a
來解析混合任務的命令行參數。現在我正在嘗試使用混合任務爲包a
生成README.md,並且我得到了上述失敗。
我可以通過啓動一個會話IEX和加載相關的光束文件解決辦法,但我想獲得混合任務工作,如果可能的...
循環依賴可能是代碼分離不夠好的標誌。你有沒有想過提取第三個共同部分的庫?也許將兩個庫合併成一個?在不知道代碼和特定接口的任何細節的情況下,很難說出最佳解決方案。 –
完全同意帕特里克在這一個。我會試圖解決循環依賴本身,而不是試圖弄清楚如何得到混合(或十六進制)來處理它。 –
@PatrickOscity真的沒有共同之處。我有一個用於解析命令行參數的庫和一個用於生成文檔的庫。兩個圖書館都使用自己和彼此。 – jisaacstone