@@ -302,7 +302,7 @@ defmodule Mix do
302
302
* `MIX_HOME` - path to Mix's home directory, stores configuration files and scripts used by Mix
303
303
(default: `~/.mix`)
304
304
* `MIX_INSTALL_DIR` - (since v1.12.0) specifies directory where `Mix.install/2` keeps
305
- installs cache
305
+ * `MIX_INSTALL_FORCE` - (since v1.13.0) runs `Mix.install/2` with empty install cache
306
306
* `MIX_PATH` - appends extra code paths
307
307
* `MIX_QUIET` - does not print information messages to the terminal
308
308
* `MIX_REBAR` - path to rebar command that overrides the one Mix installs
@@ -318,9 +318,7 @@ defmodule Mix do
318
318
Environment variables that are not meant to hold a value (and act basically as
319
319
flags) should be set to either `1` or `true`, for example:
320
320
321
- ```bash
322
- $ MIX_DEBUG=1 mix compile
323
- ```
321
+ $ MIX_DEBUG=1 mix compile
324
322
"""
325
323
326
324
@ mix_install_project __MODULE__ . InstallProject
@@ -550,8 +548,9 @@ defmodule Mix do
550
548
551
549
## Options
552
550
553
- * `:force` - if `true`, removes install cache. This is useful when you want
554
- to update your dependencies or your install got into an inconsistent state
551
+ * `:force` - if `true`, runs with empty install cache. This is useful when you want
552
+ to update your dependencies or your install got into an inconsistent state.
553
+ To use this option, you can also set the `MIX_INSTALL_FORCE` environment variable.
555
554
(Default: `false`)
556
555
557
556
* `:verbose` - if `true`, prints additional debugging information
@@ -670,7 +669,7 @@ defmodule Mix do
670
669
|> :erlang . md5 ( )
671
670
|> Base . encode16 ( case: :lower )
672
671
673
- force? = ! ! opts [ :force ]
672
+ force? = System . get_env ( "MIX_INSTALL_FORCE" ) in [ "1" , "true" ] or ! ! opts [ :force ]
674
673
675
674
case Mix.State . get ( :installed ) do
676
675
nil ->
0 commit comments