It's very tedious to have to activate the default switch every time I want to start using ocaml with eval $(opam env --switch=default --set-switch). I was given an option when I first initialized opam to update my .zshrc with a line to do this on startup but I must have missed it because the initialization continued on without my input. I tried manually adding the line to my .zshrc but the switch that's activated is not my default switch, which uses ocaml v5.0.0. Instead, it activates another switch I created with v4.14.0.
For context, the line I added to my runtime config was
[[ ! -r /Users/USERNAME/.opam/opam-init/init.zsh ]] || source /Users/USERNAME/.opam/opam-init/init.zsh > /dev/null 2> /dev/null
Maybe the answer to my question is that it's not recommended to activate a switch by default?
It is generally recommended to activate a switch by default if you always want to use a specific version of a tool or language. In your case, it seems that the line you added to your
.zshrcis not activating the default switch, but rather a different switch you created with version 4.14.0 of OCaml.To activate the default switch every time you start a new terminal session, you can add the following line to your
.zshrcfile:This will activate the default switch and set the environment variables for that switch. Make sure to remove any other lines that activate a different switch.
After adding this line to your
.zshrcfile, run the following command to source your updated.zshrcfile:This should activate the default switch every time you start a new terminal session.