Head over to The Official Guide to start learning Elm!
What is this package for?
Normal installs ❌
Use the instructions here instead.
Multiple versions ✅
People using Elm at work may use different versions of Elm in different projects. They can run
npm install email@example.com in each project and use the binary at
./node_modules/.bin/elm for compilation.
Continuous integration ⚠️
This works, but there are usually faster and more reliable options:
- You can download
elmdirectly from GitHub with this script. This is all the
npminstaller does, but with extra HTTP requests to
npmjs.comservers, making it slower and adding more failure points.
- Many continuous integration have ways to cache files (example) to make builds faster and more reliable.
That said, it will definitely work to use the
npm installer on CI if you prefer that option.
The following command should download the latest Elm 0.19.1 binary:
npm install firstname.lastname@example.org
You should be able to run
./node_modules/bin/elm --version within your project and see
0.19.1. Now you can compile with
./node_modules/bin/elm make src/Main.elm and not disrupt other packages.
npm install email@example.com or
npm install firstname.lastname@example.org for earlier versions.
latest-X.Y.Z convention is used in case we need to publish patches for the
npm installer within a given Elm release. For example, say
npm decides that some transitive dependency is not secure. Nothing is changing about Elm or the binaries, but we need to publish a new
npm installer that fixes this issue.