简体   繁体   中英

Elixir mix auto acknowledge

I want to run tests of my Phoenix app on Travis-CI.

Log excerpt:

$ 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] 

When it comes to fetching and installing dependencies, it asks if it should install hex . I was wondering if I can pass a --yes option to mix so that it doesn't ask but just installs?

You can add this command to your before_install section in .travis.yml

  • mix local.hex --force

After of course, you've already installed elixir in a previous command. I cargo culted this .travis.yml from an existing elixir project on github.

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"

As with any unix command, you could pipe yes into the mix command:

yes | MIX_ENV=test mix do deps.get, compile, test

But there are some warnings about this solution in the comments below. I recommend using the top voted solution!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM