使用Mix强制更新包

时间:2015-10-10 03:58:53

标签: elixir phoenix-framework mix

当我使用以下命令时

mix deps.update --all

如果mix文件中尚未更改软件包的版本,则

mix.ex将使用本地缓存的软件包。所以问题是,如何强制mix不使用缓存版本而是从服务器下载?例如,如果某个软件包的最后一个版本发生了变化,我想选择那些软件包,即使版本没有被碰撞。

1 个答案:

答案 0 :(得分:6)

首先发布的Hex包只能在最初创建后最多1小时更改,之后它将变为不可变且永远不会更改。将来,当Hex在发布之前添加用于测试包的工具时,您将永远无法更改已发布的包。

如果已经缓存了包,则会执行条件GET请求以获取包。如果包没有改变我们使用缓存,如果它确实改变了,我们再次获取它。如果您无法访问Hex CDN,它将自动使用缓存包(如果可用)。

此外,每当您获得或更新软件包时,Hex将下载所有已发布软件包的注册表,其中包含我们用于验证软件包tarball的校验和,因此您将永远无法使用过时的软件包。