CommandLine - npackd/npackd GitHub Wiki
There is also a command line version of Npackd. It is called NpackdCL and you can install it using Npackd. The internal package name is com.googlecode.windows-package-manager.NpackdCL.
NpackdCL follows the versioning scheme of Npackd. It means for example that NpackdCL 1.15.6 uses the same code as Npackd 1.15.6. First number in the version only changes if there are incompatible changes.
Version 1 of the NpackdCL package always has npackdcl.exe
in the root directory. Execute npackdcl.exe help
to get the list of command line parameters.
Since 1.19 ncl.exe
is distributed in the root directory with exactly the same options as npackdcl.exe
in order to reduce typing.
The following command would install the latest available version of Python:
npackdcl.exe add -p org.python.Python
You can also use the short package name if it is unique:
npackdcl.exe add -p Python
This is how to install a particular version of Notepad++:
npackdcl.exe add -p notepadpp64 -v 7.8.5
Install the newest Java 7:
npackdcl.exe add -p com.oracle.JRE64 -r [7,8)
The following command would remove the newest installed version of CMake:
npackdcl.exe rm -p CMake
Search for C++ related packages:
npackdcl search -q C++
List all available packages:
npackdcl search
ncl 1.25 - command line interface for the Npackd software package manager
Usage: ncl <command> [global options] [options]
Available commands in alphabetical order:
ncl add (--package <package>
[--version <version> | --versions <versions>])+
[--file <installation directory>]
[--user <user name>] [--password <password>]
[--proxy-user <proxy user name>] [--proxy-password <proxy password>]
installs packages. The newest available version will be
installed, if none is specified.
ncl add-repo --url <repository>
appends a repository to the system-wide list of package sources
ncl build --package <package> [--version <version> | --versions <versions>])
--output-package <package>
build a package from another one (e.g. a binary from source code)
ncl check
checks the installed packages for missing dependencies
ncl detect [--user <user name>] [--password <password>]
[--proxy-user <proxy user name>] [--proxy-password <proxy password>]
download repositories and detect packages from the MSI
database and software control panel
ncl info --package <package> [--version <version>]
[--bare-format | --json]
shows information about the specified package or package version
ncl install-dir [--bare-format | --json]
prints the directory where packages will be installed
ncl list [--bare-format | --json]
lists package versions sorted by package name and version.
ncl list-repos [--bare-format | --json]
prints the system-wide list of package sources (repositories)
ncl help
prints this help
ncl path (--package <package>
[--version <version> | --versions <versions>])+
[--cmd | --json]
searches for installed packages and prints their locations
ncl place --package <package>
--version <version> --file <directory>
[--bare-format | --json]
registers a package version installed without Npackd
ncl remove|rm (--package <package> [--version <version>])+
[--end-process <types>]
removes packages. The version number may be omitted,
if only one is installed.
ncl remove-scp --title <title>
remove a program for the Software Control Panel by title
ncl remove-repo --url <repository>
removes a repository from the system-wide list of package sources
ncl set-repo (--url <repository>)+
changes the system-wide list of package sources (repositories)
ncl search [--query <search terms>]
[--status installed | updateable | all]
[--bare-format | --json]
full text search. Lists found packages sorted by package name.
All packages are shown by default.
ncl set-install-dir [--file <directory>]
changes the directory where packages will be installed. The
default directory for program files is used if the --file
parameter is missing.
ncl update (--package <package> [--versions <versions>])+
[--end-process <types>]
[--install] [--keep-directories]
[--file <installation directory>]
[--user <user name>] [--password <password>]
[--proxy-user <proxy user name>] [--proxy-password <proxy password>]
updates packages by uninstalling the currently installed
and installing the newest version.
ncl where --file <relative path> [--bare-format | --json]
finds all installed packages with the specified file or directory
ncl which --file <file> [--bare-format | --json]
finds the package that owns the specified file or directory
Global options:
-d, --debug turn on the debug output
-l, --local install packages for the current user instead of system-wide
-n, --non-interactive assume that there is no user and do not ask for input
Options:
-b, --bare-format bare format (no heading or summary)
-c, --cmd output a .cmd script
-e, --end-process list of ways to close running applications
(c=close, k=kill, s=disconnect from file shares, d=stop services, t=send Ctrl+C). The default value is 'c'.
-f, --file file or directory
-i, --install install a package if it was not installed
-j, --json json format for the output
-k, --keep-directories use the same directories for updated packages
-p, --package internal package name (e.g. com.example.Editor or just Editor)
-q, --query search terms (e.g. editor)
-r, --versions versions range (e.g. [1.5,2))
-s, --status filters packages by status
-t, --timeout timeout in seconds
-u, --url repository URL (e.g. https://www.example.com/Rep.xml)
-v, --version version number (e.g. 1.5.12)
--user user name for the HTTP authentication
--password password for the HTTP authentication
--proxy-user user name for the HTTP proxy authentication
--proxy-password password for the HTTP proxy authentication
--title package title or a regular expression in JavaScript syntax. Example: /PDF/i
--output-package internal package name (e.g. com.example.Editor or just Editor)
You can use short package names, e.g. App instead of com.example.App.
The process exits with the code unequal to 0 if an error occures.
If the output is redirected, the texts will be encoded as UTF-8.
See https://github.com/tim-lebedkov/npackd/wiki/CommandLine for more details.