a lightweight npm package to install/update the runtime of k language on supported architectures and platforms:
* mac/x86_64 * lin/x86_64
* 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.
how to upgrade?
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).
how to downgrade?
rolling back to previous versions is not yet supported. to uninstall, use:
$ npm uninstall @kparc/k -g removed 1 package in 0.333s
the installer fails with
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.
i don't have administrative rights on my system.
-g flag, the package will be placed in your home directory. you can then add
~/node_modules/@kparc/k/bin to your
why do i have to accept a license on first install?
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
i'm having issues.
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.