a lightweight npm package to install/update the runtime of k language on supported architectures and platforms:
* mac/x86_64
* lin/x86_64
tba:
* mac/aarch64
* lin/aarch64
* lin/rv64gcv
* win64/wsm32
$ npm i @kparc/k -g
$ echo 2+2|k
in case the installer runs as non-root and finds a directory named shakti
in your $HOME
, it will check out latest documentation and examples from shakti.sh
into that directory.
the upgrade is the same as install. for convenience, consider adding the following to your rc file:
alias kup="npm i @kparc/k --global --quiet --no-audit --yes"
additional flags suppress non-essential output, skip audit checks (k has no dependencies), and automatically accepts prompts (see below).
rolling back to previous versions is not yet supported. to uninstall, use:
$ npm uninstall @kparc/k -g
removed 1 package in 0.333s
on correctly configured systems, the global npm
installation directory (e.g. /usr/lib/node_modules
) is owned by the superuser. use the following command to give npm
the necessary one-time permissions:
$ sudo npm install @kparc/k --global --unsafe
relaxing ownership of the npm directory is not recommended.
omit -g
flag, the package will be placed in your home directory. you can then add ~/node_modules/@kparc/k/bin
to your PATH
.
while k installer is distributed under MIT license, k itself is subject to Shakti Software Evaluation Agreement. the agreement is not re-displayed unless there are changes to the previously accepted version.
the checksum of previously accepted EULA text is stored in @kparc/.shakti.eula.crc
.
the installer targets LTS, which is recommended for most users and ships with npm 6.*
. if your environment is configured to use latest features and/or npm 7.*
, you may experience minor difficulties, e.g. excessively verbose npm
output during installation. please raise an issue and include parts of npm i @kparc/k -g --verbose
that seem relevant.