13

我想在 Travis-CI 上运行我的 Phoenix 应用程序的测试。

日志摘录:

$ MIX_ENV=test mix do deps.get, compile, test

Could not find hex, which is needed to build dependency :phoenix

Shall I install hex? [Yn] 

在获取和安装依赖项时,它会询问是否应该安装hex. 我想知道我是否可以通过一个--yes选项来混合,这样它就不会询问而只是安装?

4

2 回答 2

33

您可以将此命令添加到 .travis.yml 中的 before_install 部分

  • 混合 local.hex --force

当然,您已经在之前的命令中安装了 elixir。我从 github 上现有的 elixir 项目中提取了这个 .travis.yml。

language: erlang
env:
  - ELIXIR="v1.0.0"
otp_release:
  - 17.1
before_install:
  - mkdir -p vendor/elixir
  - wget -q https://github.com/elixir-lang/elixir/releases/download/$ELIXIR/Precompiled.zip && unzip -qq Precompiled.zip -d vendor/elixir
  - export PATH="$PATH:$PWD/vendor/elixir/bin"
  - mix local.hex --force
script: "MIX_ENV=test mix do deps.get, test"
于 2014-09-18T20:11:35.360 回答
31

与任何 unix 命令一样,您可以通过管道yes输入 mix 命令:

yes | MIX_ENV=test mix do deps.get, compile, test
于 2014-09-18T11:26:30.293 回答