- Version manager essentially sandboxes the compiler, libraries and related services and autonomously works without needing to change the global system installation of the same compiler (hint: environment variables).
- The chief advantage is to
- The trend is becoming popular by day in Node.js, Ruby and other nix-oriented communities.
- I propose to build a clvm.exe
- which will work independently
- which can be placed in any drive (USB, local or network drive). For instance:
%UserProfile%/.clvm
(e.g. c:\users\name.clvm). - which will create folders with semantic versions when user wants to use the newer version of cl.exe.
:: this is cmd
cl.exe --install clvm
:: will download clvm from the server in current directory
:: adds clvm to PATH (permanently)
:: or
cl.exe --install clvm %UserProfile%\.clvm
:: will download clvm from the server in the directory of choice
:: adds clvm to PATH (permanently)
clvm --update
:: replaces self to latest version
clvm --which
:: prints path to clvm.exe, which is taking effect.
:: e.g. c:\users\name\.clvm\clvm.exe
I propose cl.exe start using semantic versioning (http://semver.org/).
clvm install v3.1.4
:: creates folder with name v3.1.4 in \path\to\clvm\versions
:: for example: c:\users\name\.clvm\versions\v3.1.4
:: download and extract the zip with cl.exe and all the related
:: stuff (libraries, services etc.) inside it.
::
:: Then set the environment variable to use this version of cl.exe
:: and prints:
now using VC Compiler v3.1.4
::
:: The user can install another version say: v3.1.5 or v4.0.0
::
:: Note that cl.exe at path\to\clvm\directory\versions\<version-number>\cl.exe
:: is also updateable as per the other proposal.
User may be want to tell Visual Studio to use this version of cl.exe and therefore wants to update the front-end compiler services as well:
clvm install v3.1.4 --with-dependencies
clvm use v2.1.1
:: prints
now using VC Compiler v2.1.1
:: or
VC Compiler v2.1.1 not installed, try clvm install v2.1.1
clvm list
:: or the alias: clvm ls
::
:: prints
The following versions of VC Compiler were found:
v2.1.1 -> c:\users\name\.clvm\versions\v2.1.1
v3.1.4 -> c:\users\name\.clvm\versions\v2.1.4
clvm uninstall v2.1.1
:: prints
v2.1.1 is successfully uninstalled. Now using [system] version.
:: if there is no system version installed,
v2.1.1 is successfully uninstalled. Select the other version using `clvm use` command
- Fedora Mock Project: http://fedoraproject.org/wiki/Projects/Mock
- Ruby Version Manager - rvm: https://github.com/wayneeseguin/rvm
- Node.js Version Manager - nvmw (for Windows): https://github.com/hakobera/nvmw
- Node.js Version Manager - nvm (for Linux): https://github.com/creationix/nvm
Related: