根据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.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
混合任务。