Name

mpm — MiKTeX package manager

Synopsis

mpm [option...]

Description

MPM (MiKTeX Package Manager) is used to install packages from a MiKTeX package repository.

MPM starts in windowed mode, if you do not specify any command-line options.

User mode vs. administrative mode

This utility can be run in two modes:

User mode (default)

MPM operates on the user installation directory (usually %LOCALAPPDATA%\Programs\MiKTeX 2.9).

Administrative mode

MPM operates on the system-wide installation directory (usually C:\Program Files\MiKTeX 2.9), assuming that the MiKTeX setup is shared by all users. MPM must be run with administrator privileges.

By default, MPM runs in user mode. You can turn on administrative mode with the --admin option. For example, if you want to install a package for all users, you invoke MPM as follows:

> mpm --admin --install=a0poster

Options

--admin

Run in administrative mode:

  • Operate on the system-wide MiKTeX configuration data store.

  • Install packages for all users.

Using this option requires a shared MiKTeX setup, i.e., MiKTeX must have been set up for all users. The program must be run with administrator privileges.

--find-updates

Check the package repository for updates, then print the list of updateable packages.

--find-upgrades

Search for packages that must be installed in order to complete the MiKTeX setup (can be used in conjunction with --package-level). Then print the package list.

--help

Give help and exit.

--hhelp

This option is only available on Windows systems: show the manual page in an HTML Help window and exit when the window is closed.

--import=package

Import the specified package from another MiKTeX installation. The root directory must be specified via --repository=dir.

--import-all

Import all packages from another MiKTeX installation. The root directory must be specified via --repository=dir.

--install=package

Install the specified package.

--install-some=file

Install packages listed (line-by-line) in the specified file.

--list

List the contents of the package database: for each package, print the installation status, the number of files, the size, and the name.

--list-package-names

List the package names.

--list-repositories

Download the list of known package repository URLs, then print the list.

--max-count=num

Stop after num packages.

--package-level=level

Use the specified package level (to be used in conjunction with --find-upgrades and --upgrade).

level must be one of:

essential

Includes mandatory packages.

basic

Includes popular packages.

complete

Includes all available packages.

--pick-repository-url

Pick up a suitable URL from the package repository list and print it.

--print-package-info=package

Print detailed information about the specified package.

--quiet

Suppress all output, except errors.

--repository=location

Use the specified location as the package repository. The location can be either a fully qualified path name (a local package repository) or an URL (a remote package repository). You can use the --list-repositories to retrieve a list of working package repository URLs.

--repository-release-state=state

Select the release state of the remote package repository. The release state is relevant for finding appropriate package repositories (--list-repositories, --pick-repository-url). The release state must be one of stable or next.

--reverse

Reverse the result of comparisons (when listing packages).

--set-repository=location

Store the location of the default package repository in the MiKTeX configuration data store. The location can be either a fully qualified path name (a local package repository) or an URL (a remote package repository).

--trace[=tracestreams]

Enable trace messages. The tracestreams argument, if specified, is a comma-separated list of trace stream names (Chapter 9, Trace Streams).

--uninstall=package

Uninstall the specified package.

--update=[package]

Update the specified package, if an updated version is available in the package repository. Update all installed packages, if package is omitted.

--update-db

Synchronize the local package database with the package repository.

--update-some=file

Update packages listed (line-by-line) in the specified file.

--upgrade

Upgrade the MiKTeX setup to a package level (can be used in conjunction with --package-level). This will install all the missing packages.

--verify

Verify the integrity of all installed packages.

--verify=package

Verify the integrity of the specified package.

--verbose

Turn on verbose output mode.

--version

Show version information and exit.

Package Database

All package information is retrieved from the package database, which must have been properly installed by running MPM with the --update-db option.

Examples

Print the list of known package repository URLs:

> mpm --list-repositories

Retrieve the package database files from the FTP server some.server (assuming this a registered URL):

> mpm --repository=ftp://some.server/miktex/packages/ \
  --verbose --update-db

Print information about package a0poster:

> mpm --print-package-info a0poster

Install package a0poster:

> mpm --verbose --install a0poster

Update all installed packages:

> mpm --verbose --update

Print the list of installed packages:

> mpm --list | grep ^i

Upgrade the MiKTeX setup to the highest level:

> mpm --verbose --package-level=complete --upgrade

Environment

MIKTEX_REPOSITORY

Location of the default package repository. This can be either a fully qualified path name (a local package repository) or an URL (a remote package repository).

MIKTEX_TRACE

Comma-separated list of trace stream names (see Chapter 9, Trace Streams). If this variable is set, then MiKTeX programs will write trace messages into the configured log sink.

http_proxy

The proxy server to be used for HTTP.

FTP_PROXY

The proxy server to be used for FTP.

ALL_PROXY

The proxy server to be used, if no protocol-specific proxy is set.

NO_PROXY

Comma-separated list of host names that should not go through any proxy.