Solidity versions follow semantic versioning and in addition to
releases, nightly development builds are also made available. The nightly builds
are not guaranteed to be working and despite best efforts they might contain undocumented
and/or broken changes. We recommend using the latest release. Package installers below
will use the latest release.

Further options on this page detail installing commandline Solidity compiler software
on your computer. Choose a commandline compiler if you are working on a larger contract
or if you require more compilation options.

Use npm for a convenient and portable way to install solcjs, a Solidity compiler. The
solcjs program has less features than all options further down this page. Our
Using the Commandline Compiler documentation assumes you are using
the full-featured compiler, solc. So if you install solcjs from npm then you will
stop reading the documentation here and then continue to solc-js.

Note: The solc-js project is derived from the C++
solc by using Emscripten. solc-js can be used in JavaScript projects directly (such as Remix).
Please refer to the solc-js repository for instructions.

npminstall-gsolc

Note

The commandline is named solcjs.

The comandline options of solcjs are not compatible with solc and tools (such as geth)
expecting the behaviour of solc will not work with solcjs.

Or if you want to help testing the unstable solc with the most recent changes from the development branch:

sudosnapinstallsolc--edge

Arch Linux also has packages, albeit limited to the latest development version:

pacman-Ssolidity

Homebrew is missing pre-built bottles at the time of writing,
following a Jenkins to TravisCI migration, but Homebrew
should still work just fine as a means to build-from-source.
We will re-add the pre-built bottles soon.

For macOS, ensure that you have the latest version of
Xcode installed.
This contains the Clang C++ compiler, the
Xcode IDE and other Apple development
tools which are required for building C++ applications on OS X.
If you are installing Xcode for the first time, or have just installed a new
version then you will need to agree to the license before you can do
command-line builds:

We now have a “one button” script which installs all required external dependencies
on macOS, Windows and on numerous Linux distros. This used to be a multi-step
manual process, but is now a one-liner:

This latter set of instructions should result in the creation of
solidity.sln in that build directory. Double-clicking on that file
should result in Visual Studio firing up. We suggest building
RelWithDebugInfo configuration, but all others work.

Alternatively, you can build for Windows on the command-line, like so:

After a release is made, the patch version level is bumped, because we assume that only
patch level changes follow. When changes are merged, the version should be bumped according
to semver and the severity of the change. Finally, a release is always made with the version
of the current nightly build, but without the prerelease specifier.