Introduction

What does the PackageManager package do?

This package provides the ability to install or remove a package using a single command: or . The user can specify a package to install using its name, or using a URL to an archive, a repository, or a PackageInfo.g file. When installing, PackageManager also attempts to compile the package, and install the latest version of any required packages that are not already available.

What does the PackageManager package not do?

At present, PackageManager is fairly basic, without many of the advanced features available in package managers such as pip or apt. For instance, the user cannot install a particular version of a package, nor automatically update all packages. Removing a package will not remove any of its dependencies, since we do not track how packages were installed. When a package is installed, no tests are run to ensure that it is compatible with the installed version of GAP. Any of these features might be added in the future. Other feature requests can be posted on the issue tracker at https://github.com/gap-packages/PackageManager/issues.

A quick example

To install the latest deposited version of the Digraphs packages, use the following:

gap> InstallPackage("digraphs");

To uninstall it later, use the following:

gap> RemovePackage("digraphs");

PackageManager also supports version control repositories. To install the latest version of the curlInterface package from GitHub, use the following:

gap> InstallPackage("https://github.com/gap-packages/curlInterface.git");