v20231101
A clean and tidy decentralized package manager
- Nami only downloads software from official channels provided by software authors.
- Nami does not perform compilation, allowing users to focus on being users instead of dealing with compilation errors and dependency issues that only authors can understand.
- Nami prefers independent, static executable files without dependencies. During installation, only the standalone binary files are kept, while other miscellaneous files are discarded, such as 7z.
- Nami also supports software packaged in archives. For example, some software may require the retention of certain library files, such as go.
- The package maintenance script only needs to be written once, and it does not need to be updated when the software author releases an upgrade.
- Writing package maintenance scripts is simple and flexible. Knowledge of Linux commands is all you need to write scripts. tengo and jb make script writing more convenient.
v20231101: Support Archive Package
$HOME/.nami
: All files of nami$HOME/.nami/bin
: When installing nami, this path is already added to your $PATH$HOME/.nami/cache
: This directory will be emptied before installing package- If the package can be standalone executable files:
- The script should save only executable files to here. Such as shadowsocks.tengo or shadowsocks.js
After the installation process is finished, nami will copy these files to the
$HOME/.nami/bin
directory - If the package is a directory:
- The script should save the directory into here. Such as go.tengo or node.js
- And write the relative paths of executable files to
links
file, one path per line. Such as go.tengo or node.js
After the installation process is finished, nami will copy the directory to the
$HOME/.nami/dir/
directory and will create symbolic links to the$HOME/.nami/bin
based onlinks
- Write version to
version
file
- If the package can be standalone executable files:
$HOME/.nami/copied
: This is usually used if the command to be installed is running, such as brook.tengo, you may:- get the processes
- stop the processes
- copy(not move) the commands from
$HOME/.nami/cache
to$HOME/.nami/bin
- copy the commands from
$HOME/.nami/cache
to$HOME/.nami/copied
, this prompts nami not to perform duplicate operations - run the previously stopped processes again