当我尝试使用Distillery升级正在运行的Phoenix应用程序时,构建失败并显示以下消息:
Generated teamgenik app
==> Assembling release..
==> Building release my_app:0.10.7 using environment prod
==> Generated .appup for artificery 0.2.6 -> 0.4.1
==> Generated .appup for db_connection 2.0.3 -> 2.0.6
==> Generated .appup for decimal 1.6.0 -> 1.7.0
==> Generated .appup for ecto 3.0.6 -> 3.0.8
==> Generated .appup for ecto_sql 3.0.4 -> 3.0.0
==> Generated .appup for phoenix 1.4.0 -> 1.4.3
==> Generated .appup for phoenix_html 2.13.0 -> 2.13.2
==> Generated .appup for phoenix_pubsub 1.1.1 -> 1.1.2
==> Generated .appup for plug 1.7.1 -> 1.7.2
==> Generated .appup for plug_cowboy 2.0.1 -> 2.0.2
==> Generated .appup for teamgenik 0.10.6 -> 0.10.7
==> Generated .appup for telemetry 0.3.0 -> 0.2.0
==> Release failed with multiple errors:
Multiply defined module: 'Elixir.Telemetry'
我使用这个应用程序已有几个月,并且已经成功升级了几次。这次,我想将Phoenix的版本从1.4.0提升到1.4.3。
我已经在Elixir论坛上阅读了此条目:
我尝试了mix deps.clean --all
和mix release.clean
。有什么建议或建议吗?
更新
我注意到了一种特殊的现象。当我在bin/my_app upgrade 0.10.7
上执行RELEASE_ROOT_DIR
时,收到以下错误消息(请注意双引号和逗号之间的逗号):
Could not locate code path for release-my_app","0.10.6!
答案 0 :(得分:1)
尽管我无法检测到问题的根本原因,但还是设法通过以下方式升级了我的应用程序。
_build
目录。mix release
部署应用。换句话说,我放弃了主机代码交换,并选择重新部署我的应用。
我的问题似乎与以下问题有关:
两个都已经关闭。我认为我的问题是由于Distillery旧版安装的某些错误引起的,以后我再也不会遇到它了。