为什么运行local.phx会降级phoenix存档?

时间:2019-06-24 20:34:24

标签: elixir phoenix-framework

根据documentation,运行mix local.phx应该会升级phoenix项目生成器。相反,它会降级它。这是预期的行为吗?为什么?

$ mix phx.new -v                 
Phoenix v1.4.8

$ mix local.phx                  
Found existing entry: /home/me/.mix/archives/phx_new-1.4.8
Are you sure you want to replace it with "https://github.com/phoenixframework/archives/raw/master/phx_new.ez"? [Yn]  
* creating /home/me/.mix/archives/phx_new

$ mix phx.new -v
Phoenix v1.3.4

1 个答案:

答案 0 :(得分:3)

尽管在撰写本文时,最新的版本是您链接到的版本1.4.8,但是phx_new所评估的最新local.phx档案是针对1.3.4制作的。但是,有一个closed bug report on the archive repository带有注释,指出不再使用mix local.phx,正确的方法是从十六进制安装它,其中1.4.8 is available

mix archive.install hex phx_new

我提交了一个pull request来解决此问题,该问题已合并并反向移植到1.4,因此local.phx应该默认使用下一版本(可能是1.4.9版)中的十六进制。如果您使用的1.4.9之前的版本不包含此修复程序,则仍然有必要手动调用上述命令。我在文档中添加了一个注释来解释这一点,该注释已反向移植到1.4,但后来又从主版本中删除,因此我想这个答案在1.5版之后就足够了

请注意,phoenix installation guide并未提及local.phx,而是正确地引入了以上的archive.install hex phx_new混合任务。