Installation¶
I wrote a blog post about this for people who want to install PureScript tooling via npm: https://qiita.com/kimagure/items/570e6f2bbce5b4724564
About npm in general¶
Prefix¶
Make sure you have prefix set for npm in ~/.npmrc
:
prefix="~/.npm"
If you don’t do this, npm installations overall in your system will be messed up.
never run npm with sudo
.
Set your npm paths¶
export PATH="$HOME/.npm/bin:$PATH"
export PATH="./node_modules/.bin:$PATH"
If you want to set up PureScript tooling via npm¶
npm i -g purescript pulp psc-package-bin-simple
If you don’t want to set up tooling via npm¶
Grab the PureScript binary from Github releases and put it in your path (e.g. ~/.local/bin/
): https://github.com/purescript/purescript/releases
Grab the Psc-Package binary from Github releases and put it in your path: https://github.com/purescript/psc-package/releases
You will have to install pulp
via npm, but you don’t necessarily have to use pulp. Nevertheless, npm install -g pulp
or npm i -S pulp
in your project.
You might try this bash script, but if it doesn’t work, make a PR: https://github.com/justinwoo/purescript-resources/blob/master/purs-install.bash
Installation of tools through Nix¶
Unfortunately, the Nix package for PureScript is usually broken, and there is no visible interest in making the package use the binaries from GitHub. As a result, installing the compiler through Nix will usually be broken or irreproducable.
I have started collecting easy ways of installing PureScript-related tools with Nix via the released binaries: https://github.com/justinwoo/easy-purescript-nix. Please try this! If you don’t use NixOS, you can quite readily use this like so in https://github.com/justinwoo/dotfiles/commit/3b839ec52cab87df24455987b47fd942b61b4f43.
You can also try this simple derivation for the compiler: https://github.com/srdqty/purescript-project-template/blob/902f3e7c5ec4284a0878cb4806553e3756552231/nix/pkgs/purescript/default.nix
On the other hand, the Psc-Package package on nixpkgs is fine: https://github.com/NixOS/nixpkgs/blob/a6fa300cf7192b61234436dd199f3678b648a096/pkgs/development/compilers/purescript/psc-package/default.nix