choosenim installs the Nim programming language from official downloads and sources, enabling you to easily switch between stable and development compilers.
The aim of this tool is two-fold:
- Provide an easy way to install the Nim compiler and tools.
- Manage multiple Nim installations and allow them to be selected on-demand.
$ choosenim stable Installed component 'nim' Installed component 'nimble' Installed component 'nimgrep' Installed component 'nimpretty' Installed component 'nimsuggest' Installed component 'testament' Switched to Nim 1.0.0 $ nim -v Nim Compiler Version 1.0.0 [Linux: amd64]
Download the latest Windows version from the releases page (the .zip file).
Extract the zip archive and run the
runme.bat script. Follow any on screen
prompts and enjoy your new Nim and choosenim installation.
curl https://nim-lang.org/choosenim/init.sh -sSf | sh
wget -qO - https://nim-lang.org/choosenim/init.sh | sh
Optional: You can specify the initial version you would like the
script to install by specifying the
How choosenim works
Similar to the likes of
choosenim is a
toolchain multiplexer. It installs and manages multiple Nim toolchains and
presents them all through a single set of tools installed in
nimble and other tools installed in
proxies that delegate to the real toolchain.
choosenim then allows you
to change the active toolchain by reconfiguring the behaviour of the proxies.
The toolchains themselves are installed into
nim will execute the proxy in
in turn will run the compiler in
assuming that 1.0.0 was selected.
How toolchains are installed
choosenim downloads and installs the official release
binaries on Windows and Linux. On other
platforms, the official source release
is downloaded and built. This operation is only performed once when a new
version is selected.
As official binaries are made available for more platforms,
install them accordingly.
|C compiler||Downloaded automatically||gcc/clang||gcc/clang|
|OpenSSL||>= 1.0.2k||>= 1.0.2k||N/A|
|curl||N/A||N/A||Any recent version|
|wget||N/A||>= 1.20.1||>= 1.20.1|
* Many macOS dependencies should already be installed. You may need to install a C compiler however. More information on dependencies is available here.
OpenSSL version can be checked by executing
Git is required when installing release versions on platforms other than Windows and Linux, or when installing #HEAD or a specific commit of Nim.
> choosenim -h choosenim: The Nim toolchain installer. Choose a job. Choose a mortgage. Choose life. Choose Nim. Usage: choosenim <version/path/channel> Example: choosenim 0.16.0 Installs (if necessary) and selects version 0.16.0 of Nim. choosenim stable Installs (if necessary) Nim from the stable channel (latest stable release) and then selects it. choosenim #head Installs (if necessary) and selects the latest current commit of Nim. Warning: Your shell may need quotes around `#head`: choosenim "#head". choosenim ~/projects/nim Selects the specified Nim installation. choosenim update stable Updates the version installed on the stable release channel. choosenim versions [--installed] Lists the available versions of Nim that choosenim has access to. Channels: stable Describes the latest stable release of Nim. devel Describes the latest development (or nightly) release of Nim taken from the devel branch. Commands: update <version/channel> Installs the latest release of the specified version or channel. show Displays the selected version and channel. update self Updates choosenim itself. versions [--installed] Lists available versions of Nim, passing `--installed` only displays versions that are installed locally (no network requests). Options: -h --help Show this output. -y --yes Agree to every question. --version Show version. --verbose Show low (and higher) priority output. --debug Show debug (and higher) priority output. --noColor Don't colorise output. --choosenimDir:<dir> Specify the directory where toolchains should be installed. Default: ~/.choosenim. --nimbleDir:<dir> Specify the Nimble directory where binaries will be placed. Default: ~/.nimble. --firstInstall Used by install script.
Check out the analytics document for details.