Description
Hello,
I wonder if the concept of "environment" (comparable to conda environments or Julia Pkg environments) have been considered (it could help to have several versions of a library installed without odd effects).
Here is a possible workflow for dealing with environment with arduino-cli :
Create an environment named myenv
$ arduino-cli env create myenv
It should create an empty directory name myenv
in ~/Documents/Arduino/envs
List all existing environments
$ arduino-cli env list
Add packages to this environment
Latest version of a package
$ arduino-cli lib install WiFi101 --env myenv
A given version
$ arduino-cli lib install "ArduinoJson==5.13.4" --env myenv
(this will need #105 to be fixed)
(An environment could also be created directly from a file but this could probably be implemented later)
I assume core is installed in the global environment (because I think it's important to keep ability to have libraries and core installed in a shared manner)
$ arduino-cli compile --fqbn arduino:samd:mkr1000 Arduino/MyFirstSketch --env myenv
This last command will use ArduinoJson==5.13.4 even if, for example, ArduinoJson==6.x.y is installed in the "global" environment.
What is your opinion of such an idea?
Kind regards