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 модуль [ модуль ... ]
-
Показать файлы Изменений для указанных модулей
- -D модуль [ модуль ... ]
-
Показать подробности модуля. Это выводит одну строку для каждого устаревшего модуля (т. е., модулей, локально установленных, но с более новыми версиями в CPAN). Каждая строка содержит три столбца: имя модуля, локальная версия и версия CPAN.
- -f
-
Принудительно выполняет указанное действие, когда в нормальных условиях оно могло бы завершиться неудачей. Используйте это для установки модуля даже если его тесты завершатся неудачей. При использовании этого параметра, -i не является необязательным для установки модуля, когда необходимо принудительно установить его:
% cpan -f -i Module::Foo - -F
-
Отключает попытки CPAN.pm заблокировать что-либо. Будьте осторожны, так как это может привести к тому, что несколько скриптов будут пытаться вмешаться в один и тот же каталог. Это не так важно, если вы загружаете специальную конфигурацию с
-j, и эта конфигурация устанавливает свои собственные рабочие каталоги. - -g модуль [ модуль ... ]
-
Загружает в текущую директорию последнюю версию дистрибутива модуля.
- -G модуль [ модуль ... ]
-
НЕ РЕАЛИЗОВАНО
Загрузить в текущую директорию последнюю версию дистрибутива модулей, распаковать каждый дистрибутив и создать репозиторий git для каждого дистрибутива.
Если вам нужна эта функция, ознакомьтесь с дистрибутивом
Git::CPAN::PatchЯника Шанпу. - -h
-
Вывести сообщение справки и выйти. Если вы укажете
-h, он игнорирует все остальные параметры и аргументы. - -i модуль [ модуль ... ]
-
Установить указанные модули. Без других переключателей этот переключатель подразумевается.
- -I
-
Загрузить
local::lib(подумайте, как-Iдля загрузки путей к библиотекам). Жаль, что-lуже занято. - -j Config.pm
-
Загрузить файл с данными конфигурации CPAN. Он должен иметь тот же формат, что и стандартный файл CPAN/Config.pm, который определяет
$CPAN::Configкак анонимный массив. - -J
-
Вывести конфигурацию в том же формате, что и CPAN.pm. Это полезно для проверки конфигурации, а также для использования вывода в качестве отправной точки для новой, пользовательской конфигурации.
- -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 Concensus: https://github.com/Perl-Toolchain-Gang/toolchain-site/blob/master/lancaster-consensus.md
Oslo Concensus: 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. Значение по умолчанию —INFO. - GIT_COMMAND
-
Путь к исполняемому файлу
gitдля использования в функциях Git. Значение по умолчанию —/usr/local/bin/git.
КОДЫ ВЫХОДА
Скрипт завершается с нулевым кодом, если все прошло успешно, или с положительным числом, если что-то завершилось неудачей. Однако в некоторых случаях он должен определить ошибку по выводу вещей, которыми он не управляет. Пока коды выхода являются неопределёнными:
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, но теперь канонический источник находится в вышеупомянутом репозитории.
АВТОРСКИЕ ПРАВА
Джафеф Кливер добавил возможности принудительной установки (-f).
Джим Брант предложил и предоставил первоначальную реализацию для функций обновлений и изменений.
Адам Кеннеди указал, что exit() вызывает проблемы в Windows, где этот скрипт завершается с расширением .bat
АВТОР
brian d foy, <bdfoy@cpan.org>
КОПИРАЙТ
Copyright (c) 2001-2015, brian d foy, Все права защищены.
Вы можете распространять его на тех же условиях, что и Perl сам по себе.
© 1993–2021 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.34.0/cpan