Spec-Zone.ru › Perl 5.38

cpan

СОДЕРЖАНИЕ

  • ИМЯ
  • СИНТАКСИС
  • ОПИСАНИЕ
    • Параметры
    • Примеры
    • Переменные окружения
  • КОДЫ ВЫХОДА
  • ЗАДАЧИ
  • ОШИБКИ
  • СМОТРИТЕ ТАКЖЕ
  • ДОСТУПНОСТЬ ИСТОЧНИКА
  • АВТОРСКИЕ ПРАВА
  • АВТОР
  • КОПИРАЙТ

ИМЯ

cpan - лёгкое взаимодействие с CPAN через командную строку

СИНТАКСИС

# with arguments and no switches, installs specified modules
cpan module_name [ module_name ... ]

# with switches, installs modules with extra behavior
cpan [-cfFimtTw] module_name [ module_name ... ]

# use local::lib
cpan -I module_name [ module_name ... ]

# one time mirror override for faster mirrors
cpan -p ...

# with just the dot, install from the distribution in the
# current directory
cpan .

# without arguments, starts CPAN.pm shell
cpan

# without arguments, but some switches
cpan [-ahpruvACDLOPX]

ОПИСАНИЕ

Этот скрипт предоставляет командный интерфейс (не оболочку) к CPAN. В настоящее время он использует CPAN.pm для выполнения работы, но это не одноразовый командный запуск для CPAN.pm.

Параметры

-a

Создаёт автопакет CPAN.pm с помощью CPAN::Shell->autobundle.

-A модуль [ модуль ... ]

Отображает основных авторов указанных модулей.

-c модуль

Выполняет `make clean` в каталогах указанного модуля.

-C модуль [ модуль ... ]

Отображает файлы Changes для указанных модулей

-D модуль [ модуль ... ]

Отображает подробности модуля. Это выводит одну строку для каждого устаревшего модуля (то есть модули, установленные локально, но с более новыми версиями в CPAN). Каждая строка имеет три столбца: имя модуля, локальную версию и версию CPAN.

-f

Принудительно выполняет указанное действие, когда оно обычно завершилось бы ошибкой. Используйте это для установки модуля, даже если его тесты завершаются ошибкой. Когда вы используете этот параметр, -i является необязательным для установки модуля, когда вам нужно принудительно установить его:

% cpan -f -i Module::Foo
-F

Отключает попытки CPAN.pm заблокировать что-либо. Будьте осторожны, так как у вас может быть несколько скриптов, пытающихся вмешаться в один и тот же каталог. Это не так важно, если вы загружаете специальную конфигурацию с -j, и эта конфигурация устанавливает свои рабочие каталоги.

-g модуль [ модуль ... ]

Загружает в текущую директорию последнюю версию дистрибутива модуля.

-G модуль [ модуль ... ]

НЕ РЕАЛИЗОВАНО

Загружает в текущий каталог последнюю версию дистрибутивов модулей, распаковывает каждый дистрибутив и создаёт репозиторий Git для каждого дистрибутива.

Если вам нужна эта функция, проверьте дистрибутив Yanick Champoux's Git::CPAN::Patch.

-h

Выводит сообщение справки и завершает работу. Когда вы указываете -h, он игнорирует все остальные параметры и аргументы.

-i модуль [ модуль ... ]

Устанавливает указанные модули. Без других переключателей этот переключатель подразумевается.

-I

Загрузить local::lib (подумайте как -I для загрузки путей к библиотекам). Жаль, что -l уже занят.

-j Config.pm

Загрузить файл с данными конфигурации CPAN. Он должен иметь тот же формат, что и стандартный файл CPAN/Config.pm, который определяет $CPAN::Config как анонимный хэш.

-J

Выводит конфигурацию в том же формате, что и CPAN.pm. Это полезно для проверки конфигурации, а также для использования вывода в качестве отправной точки для новой, пользовательской конфигурации.

-l

Перечисляет все установленные модули с их версиями

-L автор [ автор ... ]

Перечисляет модули по указанным авторам.

-m

Создаёт указанные модули.

-M зеркало1,зеркало2,...

Список зеркал, разделённых запятыми, которые следует использовать только для этого запуска. Параметр -P может найти их автоматически.

-n

Выполнить пробный запуск, но ничего не устанавливать. (не реализовано)

-O

Показать устаревшие модули.

-p

Отправить запрос к настроенным зеркалам и вывести отчёт

-P

Найти лучшие зеркала и использовать их для текущего сеанса.

-r

Перекомпилирует динамически загруженные модули с помощью CPAN::Shell->recompile.

-s

Запустить оболочку CPAN.pm. Эта команда выполняется автоматически, если вы не указываете никаких аргументов.

-t модуль [ модуль ... ]

Выполняет `make test` для указанных модулей.

-T

Не тестировать модули. Просто установить их.

-u

Обновить все установленные модули. Слепое выполнение этого действия может привести к проблемам, поэтому сохраните резервную копию.

-v

Вывести версию скрипта и версию CPAN.pm, а затем завершить работу.

-V

Вывести подробную информацию о клиенте cpan.

-w

НЕ РЕАЛИЗОВАНО

Включить предупреждения cpan. Это проверяет различные вещи, такие как разрешения на каталоги, и сообщает вам о возможных проблемах.

-x модуль [ модуль ... ]

Найти похожие соответствия указанным модулям, которые, по вашему мнению, были неправильно набраны. Для этого требуется дополнительная установка Text::Levenshtein или Text::Levenshtein::Damerau.

-X

Вывести все пространства имён в стандартный вывод.

Примеры

# print a help message
cpan -h

# print the version numbers
cpan -v

# create an autobundle
cpan -a

# recompile modules
cpan -r

# upgrade all installed modules
cpan -u

# install modules ( sole -i is optional )
cpan -i Netscape::Booksmarks Business::ISBN

# force install modules ( must use -i )
cpan -fi CGI::Minimal URI

# install modules but without testing them
cpan -Ti CGI::Minimal URI

Переменные окружения

В CPAN.pm используются несколько компонентов, которые используют переменные окружения. Инструменты сборки, ExtUtils::MakeMaker и Module::Build используют некоторые, а другие важны для уровней выше них. Некоторые из них определены группой Perl Toolchain Gang:

Lancaster Consensus: https://github.com/Perl-Toolchain-Gang/toolchain-site/blob/master/lancaster-consensus.md

Oslo Consensus: https://github.com/Perl-Toolchain-Gang/toolchain-site/blob/master/oslo-consensus.md

NONINTERACTIVE_TESTING

Предполагает, что никто не следит и пропускает запросы для дистрибутивов, которые обрабатывают это правильно. cpan(1) устанавливает это в 1, если у него ещё нет значения (даже если это значение ложь).

PERL_MM_USE_DEFAULT

Использовать значение по умолчанию для запрошенного вопроса. cpan(1) устанавливает это в 1, если у него ещё нет значения (даже если это значение ложь).

CPAN_OPTS

Как и в PERL5OPT, строка дополнительных cpan(1) параметров, которые следует добавить к тем, которые вы указываете в командной строке.

CPANSCRIPT_LOGLEVEL

Уровень ведения журнала, используемый либо встроенным минимальным логгером, либо Log::Log4perl, если он установлен. Возможные значения совпадают с уровнями Log::Log4perl: TRACE, DEBUG, INFO, WARN, ERROR, и FATAL. Значение по умолчанию %%%CODE_BLOCK_27%%.

GIT_COMMAND

Путь к исполняемому файлу git для использования функций Git. Значение по умолчанию %%%CODE_BLOCK_29%%.

КОДЫ ВЫХОДА

Скрипт завершается с нулём, если считает, что всё прошло успешно, или с положительным числом, если считает, что что-то завершилось ошибкой. Однако в некоторых случаях он должен определить ошибку по результатам действий, которыми он не управляет. На данный момент коды возврата неясны:

1	An unknown error

2	The was an external problem

4	There was an internal problem with the script

8	A module failed to install

ЗАДАЧИ

* значения конфигурации в один заход из командной строки

ОШИБКИ

* не отмечено

СМОТРИТЕ ТАКЖЕ

Большинство функций, включая переменные окружения и конфигурацию, напрямую берутся из CPAN.pm.

ДОСТУПНОСТЬ ИСТОЧНИКА

Этот код находится в репозитории CPAN.pm на GitHub:

https://github.com/andk/cpanpm

Ранее исходный код отслеживался отдельно в другом репозитории GitHub, но сейчас он находится в вышеупомянутом репозитории.

АВТОРСКИЕ ПРАВА

Japheth Cleaver добавил части, чтобы разрешить принудительную установку (-f).

Jim Brandt предложил и предоставил первоначальную реализацию функций up-to-date и Changes.

Adam Kennedy указал, что exit() создаёт проблемы в Windows, где этот скрипт получает расширение .bat

АВТОР

brian d foy, <bdfoy@cpan.org>

КОПИРАЙТ

Авторские права (c) 2001-2015, brian d foy, Все права защищены.

Вы можете перераспределять его на тех же условиях, что и Perl сам по себе.

© 1993–2023 Larry Wall and others
Licensed under the GNU General Public License version 1 or later, or the Artistic License.
The Perl logo is a trademark of the Perl Foundation.
https://perldoc.perl.org/5.38.0/cpan

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API