If you are working in multiple TTYs then the current version from the ~/.cvm/config.json will conflict. When the current version changes in one TTY, and you perform an action in a different TTY, the current version will not match and this will cause unnecessary stdout logging and PATH updates.
Steps to reproduce
Open TTY 1
Set a global composer version
Navigate somewhere within the global scope (no cvm_config)
Notice the TTY will output "Using composer version ..."
The next time to run ls or any command, it should not output Using composer version ... every time. It should only do this when the current version changes.
Open TTY 2
Navigate to a non-global scope. Somewhere that has a cvm_config with another version.
Notice it will output "Using composer version ..." as expected
Go back to TTY 1 and run any command
Notice it will output "Using composer version ..." even though nothing has changed in the current TTY. This is because both TTYs are looking at and updating the same current field in the ~/.cvm/config.json
Solution
Come up with a way of tracking the current version on a per-tty basis. Not for the application as a whole.
Problem
If you are working in multiple TTYs then the
current
version from the~/.cvm/config.json
will conflict. When the current version changes in one TTY, and you perform an action in a different TTY, thecurrent
version will not match and this will cause unnecessary stdout logging and PATH updates.Steps to reproduce
ls
or any command, it should not outputUsing composer version ...
every time. It should only do this when the current version changes.current
field in the~/.cvm/config.json
Solution
Come up with a way of tracking the
current
version on a per-tty basis. Not for the application as a whole.