Installation
Prerequisite: either NPM (comes with node) or Yarn.
If you'd like to install BuckleScript globally, do:
SHyarn global add bs-platform
or
SHnpm install -g bs-platform
This gives you a few globally exposed commands you can run, described later. But usually, you'd install the project locally:
SHyarn add --dev bs-platform
SHnpm install --save-dev bs-platform
The commands that are exposed are:
bsb
, the build system.bsc
, the raw compiler. Usually not used directly.bsrefmt
, the included Reason parser & printer.
#Alternatives (Power Users)
#Install From Source, Through NPM/Yarn
Prerequisite: either npm or yarn, plus the standard C toolchain.
SHgit clone https://github.com/bucklescript/bucklescript
cd bucklescript
npm install
#Install From Source, Without NPM/Yarn
See this for details https://github.com/BuckleScript/bucklescript/blob/master/CONTRIBUTING.md#setup
#Troubleshooting
#spawnSync ENOENT error
If you get an error that looks like Error: spawnSync /node_modules/bs-platform/lib/bsb.exe ENOENT
it might be caused if
you have npm postinstall scripts disabled. In that case, re-enable scripts with npm config set ignore-scripts false
and re-install bs-platform
#Permission denied errors
Under some conditions, the global installation of bs-platform
will result in npm errors, typically indicating Error: EACCES: permission denied
. Here are some methods for resolving this problem.
#Manually change npm’s default directory
Changing where NPM stores the package files may help, see the second solution on the docs.npmjs.com site.
#Enable the unsafe-perm
npm option
While using unsafe-perm
does have some drawbacks, it easily resolves the permissions issue. When the changing the default directory does not work, then this may be the next best option.
SHnpm install -g bs-platform --unsafe-perm