Elixir 如何在项目之间共享代码?
我有一些代码,我想在我的其他Phoenix/Elixir项目中重复使用,但我不想上传到hex.pm并通过互联网分发。除了将代码复制粘贴到我的每个项目中的最简单方法外,我如何在我拥有的不同项目之间共享它?正如文档中明确指出的那样,Elixir 如何在项目之间共享代码?,elixir,phoenix-framework,Elixir,Phoenix Framework,我有一些代码,我想在我的其他Phoenix/Elixir项目中重复使用,但我不想上传到hex.pm并通过互联网分发。除了将代码复制粘贴到我的每个项目中的最简单方法外,我如何在我拥有的不同项目之间共享它?正如文档中明确指出的那样,mix除了支持hex.pm之外,还支持两种依赖关系: Mix还支持Git和路径依赖关系: {:foobar, git: "https://github.com/elixir-lang/foobar.git", tag: "0.1"} {:foobar, path: "pa
mix
除了支持hex.pm
之外,还支持两种依赖关系:
Mix还支持Git和路径依赖关系:
{:foobar, git: "https://github.com/elixir-lang/foobar.git", tag: "0.1"}
{:foobar, path: "path/to/foobar"}
它们是:
后者可能是出于您的兴趣,除非您创建一个总括项目。前者将用作:
{:my_shared_hex_package, path: "../shared/my_shared_hex_package"}
或者,取决于您的实际路径
另一个可能的选择是创建私有git[hub]回购协议,并使用它在项目之间共享公共私有代码。这样,您仍然能够通过发布管道(例如,持续集成、热插拔部署等)无需打开您的私人代码。
mix
可以从github而不是hex.pm+private repos下载代码。本网站的规则规定在问题/评论中使用英语。我认为,通过强调git将与私人存储库一起使用,此答案的质量可以进一步提高(我认为这是目前绝大多数情况下使用的方法,您不想通过Hex.pm共享代码)。@cdegroot感谢更新的提示。事实上,这是我的第一个建议(请参阅对OP的评论),但后来我意识到这个问题的目标是离线处理。
{:my_shared_hex_package, path: "../shared/my_shared_hex_package"}