[英]How to manage package interdependencies in mix?
我已经为Elixir建立了几个有用的库。 我把它们都用十六进制表示。 我已经在库B中使用库A,并且我刚刚将库B合并为库A的依赖项。现在当然不会构建库A。
加载项目时出错:/ Users / me / fun / a / deps / ar **(混合)尝试从“ /Users/me/fun/a/deps/a/mix.exs”加载ArgumentParser.Mixfile已经在“ /Users/jistone/fun/a/mix.exs”中定义了另一个具有相同名称的项目
到目前为止,这是我尝试过的:
a
从DEPS夹 a
从mix.lock deps/b/mix.exs
,添加path:
对于a
DEPS条目指向的项目文件夹。 mix.exs
以使a
和b
指向各自的项目文件夹 全部失败,并显示相应的错误消息。
所以问题是:如何通过混合来识别当前正在构建的项目是否满足依赖关系?
编辑:更多详细信息
包a
是用于解析命令行参数的库。 程序包b
是用于生成README.md文件的混合任务。 在程序包b
我使用程序包a
解析了mix任务的命令行参数。 现在,我尝试使用mix任务为程序包a
生成README.md,但出现上述错误。
我可以通过启动iex会话并加载相关的梁文件来解决,但我希望在可能的情况下使混合任务正常工作...
我发现了3个解决方案(没有一个完美)
将自述文件docgen项目构建为escript,然后将其删除为依赖项。
在mix.exs文件中更改项目名称,生成文档,然后将其更改回。
使用iex中的-pa arg加载所有梁文件并手动运行代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.