Experimenting with Phoenix and Ash v3.0.
We use devbox to install the necesary packages and mise to install missing packages and run tasks.
Tools that can not be installed directly from devbox
because of version issue
are installed via mise
.
Install devbox (do it only once):
curl -fsSL https://get.jetpack.io/devbox | bash
Prepare your shell for mise
(do it only once).
For Bash:
echo 'eval "$($HOME/.local/bin/mise activate bash)"' >> ~/.bashrc
For Zsh:
echo 'command -v mise &> /dev/null && eval "$(mise activate zsh)"' >> "${ZDOTDIR-$HOME}/.zshrc"
Install devbox
:
devbox install
Enter devbox
shell:
devbox shell
(devbox)
at the beginning of the prompt shows that you are inside a devbox
shell:
(devbox) /home/my-user/my-project$
Trust mise
configuration files (do it only once):
mise trust mise.toml
mise trust mise.local.toml
Install mise
tools:
mise install
Clean and setup everything:
mise run reset:local
You can use the IDE of your choice inside a devbox
shell. For example with
VSCode:
code .
To see available tasks or executed one of them, run with this command:
mise run
To start the Phoenix Web service, run with this command:
cd library
mix phx.server
If you change environment variables in devbox.json
, you will need to restart
the devbox shell and your IDE.