Reason toolchain packaged for npm.
Supported: Installing via
Yarn, on Mac OS or Linux.
|Windows||Please see reasonml/reasonml.github.io#195|
npm users, use
npm install -g reason-cli@latest-macos or
The package's size is rather big. It takes a while to download, especially on slower internet. If npm is stuck and doesn't produce any errors then it's probably just downloading it. This will be fixed in the following releases. Sorry.
The installation requires glibc >=3.4.21. If you're on macOS, you should be good to go. If you're on Ubuntu, reason-cli requires Ubuntu 16.04. Otherwise the postinstall might fail.
If you are having trouble, you can download the tarball to your machine separately, and run
npm install path/to/tarball, to install from the local file.
Install your editor plugins
Pick your favorite editor plugin here
Just reinstall over the previously installed package. It's usually a good idea to uninstall the old reason-cli first.
npm uninstall -g reason-cli npm install -g reason-cli@latest-macos
When installed with
npm install -g,
reason-cli places the following tools
in your path:
Releasing (For Maintainers):
Repeat the following for both most recent reason-cli linux and macos circle CI builds that succeed.
- Bump the versions/config in
package.jsonto your liking, and make sure to locally run
esy installto regenerate any lockfiles. Send a commit with those lockfiles and config changes.
- When that diff builds on
master, grab the results from the Artifacts tab on the CircleCI build results for the build of the platform you want to release.
- Verify the release can be installed:
npm remove -g reason-cli && npm install reason-cli.tar.gz
- Make sure
- Uninstall the release you just installed:
npm remove -g reason-cli(otherwise npm freaks out).
- Extract the release locally:
tar -xvf reason-cli.tar.gz.
- Edit the version number in
3.3.2-macos(adjust for the version and platform you downloaded for accordingly).
Repeat steps 1-8 for both linux and macos builds.
- Update dist tags:
(adjust for the version and platform you downloaded for accordingly)
npm dist-tags add email@example.com latest-linux npm dist-tags add firstname.lastname@example.org latest-macos
Releasing (without CI):
You can just recreate what the circle CI steps do locally and then perform the steps above.
For failed installs try:
npm install -g whateverReasonCliReleaseYouTried --ignore-scripts cd whereverYourGlobalNpmPackagesAreStored/reason-cli/ ./postinstall.sh
- Does it give any better information about what is failing?
- Is there a specific log file that it claims the actual error is written into?
Did you remember to install using
When updating, did you try to uninstall the previous installation?
Each published binary includes the built-in ability to troubleshoot where each
binary is resolved to. If something is going wrong with your
you can see which released binary
refmt actually invokes in the release. We
----where flag with four
- characters because it's unlikely to
conflict with any meaningful parameters of binaries like
refmt ----where > /path/to/npm-packages/lib/reason-cli/actualInstall/builds/reason/bin/refmt