如何自定义Elixir项目deps目录?

如何自定义Elixir项目deps目录?,elixir,Elixir,我正在SnapCI上运行Elixir项目的CI,并缓存我的deps文件夹,这样它就不必在每次尝试运行我的测试时都安装我的deps。我该怎么做 我注意到,DEPS_DIR有一个env设置,但这似乎是一个钢筋问题,或者是相同的?无论如何,我在一个简单的项目上尝试过,但它似乎不起作用,mix仍然在我当前的文件夹中安装我的DEP 2015年3月4日更新 以下是我的snap ci完整脚本: curl -O https://raw.githubusercontent.com/spawngrid/kerl/m

我正在SnapCI上运行Elixir项目的CI,并缓存我的deps文件夹,这样它就不必在每次尝试运行我的测试时都安装我的deps。我该怎么做

我注意到,
DEPS_DIR
有一个env设置,但这似乎是一个钢筋问题,或者是相同的?无论如何,我在一个简单的项目上尝试过,但它似乎不起作用,
mix
仍然在我当前的文件夹中安装我的DEP

2015年3月4日更新

以下是我的snap ci完整脚本:

curl -O https://raw.githubusercontent.com/spawngrid/kerl/master/kerl && chmod a+x kerl
mkdir -p /var/go/deps
export MY_DEPS_PATH=/var/go/deps
set +e
./kerl update releases
./kerl cleanup 17.4
(./kerl list builds | grep 17.4) || (export MAKEFLAGS='-j3'; ./kerl build git https://github.com/erlang/otp/ OTP-17.4 17.4)
(./kerl list installations | grep 17.4) || (./kerl install 17.4 ~/.kerl/installs/17.4)
source ~/.kerl/installs/17.4/activate
mkdir -p vendor/elixir
wget --no-clobber -q https://github.com/elixir-lang/elixir/releases/download/v1.0.2/precompiled.zip
unzip -o -qq precompiled.zip -d vendor/elixir
export PATH=`pwd`/vendor/elixir/bin:$PATH
yes y | MIX_ENV=test mix do local.rebar
yes y | MIX_ENV=test mix deps.get
yes y | MIX_ENV=test mix deps.compile
MIX_ENV=test mix amrita --trace

在伞形项目中,使用了“deps_路径”选项。您可以在此处使用任何本地目录(请参见[1])

你必须自己决定这对你的处境是否是一个好的解决办法。如果不指定每个dep的精确版本,则在CI(使用缓存的dep)和独立编译中会得到不同的结果。当然你可以把两者结合起来


[1]

是否有可以为此设置的环境变量?您可以在项目配置中设置环境变量:
deps\u path:System.get\u env(“MY\u deps\u path”)|“deps”
mix不应获取依赖项,除非您明确请求它获取依赖项。请共享用于此操作的实际shell脚本或命令行。