Elixir依赖项不会生成应用程序文件

时间:2018-02-23 13:04:59

标签: elixir mix hex-pm

我即将发布myhtmlex库的0.2.0。 但我在测试新的软件包时遇到问题,因为测试应用程序没有生成应用程序文件。

为了测试我的集成,我编写了一个脚本来测试我在测试应用程序中的十六进制版本。

您可以在此处查看来源:https://github.com/Overbryd/myhtmlex/tree/package-test

重现这一点的步骤是:

  1. 构建十六进制包mix hex.build
  2. 解压缩生成的tar-archive
  3. 根据具有{:myhtmlex, path: "../local-tar-archive"}
  4. 的十六进制包创建一个新的测试应用程序
  5. 构建测试应用程序mix compile但它失败了:

    ==> myhtmlex
    Compiling 3 files (.ex)
    ==> myhtmlex_pkg_test
    Unchecked dependencies for environment dev:
    * myhtmlex (../myhtmlex-local)
      could not find an app file at "_build/dev/lib/myhtmlex/ebin/myhtmlex.app". This may happen if the dependency was not yet compiled, or you specified the wrong application name in your deps, or the dependency indeed has no app file (then you can pass app: false as option)
    ** (Mix) Can't continue due to errors on dependencies
    
  6. 来自:https://elixirforum.com/t/dependency-does-not-generate-app-file/12703

    的交叉发帖

1 个答案:

答案 0 :(得分:2)

hex >= 0.17.3开始并使用mix hex.build --unpack -o package-test直接解决了这个问题。

如果您想了解详情,请在此处解决问题:https://github.com/hexpm/hex/issues/515