IEx is Elixir’s interactive shell, where you can type any Elixir expressions and get its result.
One issue you might come across when trying to use iex
in Powershell, through a command e.g. iex -S mix
, you might get the following error:
1 2 3 4 5 6 | Invoke-Expression : A parameter cannot be found that matches parameter name 'S'. At line:1 char:5 + iex -S mix + ~~ + CategoryInfo : InvalidArgument: (:) [Invoke-Expression], ParameterBindingException + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.InvokeExpressionCommand |
The problem is that iex
is an alias in Powershell, for Invoke-Expression
1 2 3 4 5 | PS C:\Workspace> Get-Command iex CommandType Name Version Source ----------- ---- ------- ------ Alias iex -> Invoke-Expression |
Solution
To overcome this problem you simply use iex.bat
instead of iex
in Powershell. So, if you type iex.bat -S mix
, you ‘ll get the following output:
1 2 3 4 5 6 | PS C:\Workspace\Research\elixir\physics> iex.bat -S mix Eshell V8.0 (abort with ^G) Compiling 1 file (.ex) Generated physics app Interactive Elixir (1.4.1) - press Ctrl+C to exit (type h() ENTER for help) iex(1)> |
and you are ready to start working with elixir’s interactive shell.