从命令行上传到CPAN

Perl模块CPAN::Uploader附带一个名为cpan-upload的便捷命令行应用程序,允许Perl模块作者从命令行上传到CPAN。本文将介绍如何安装cpan-upload并使用它。

要上传模块到CPAN,您必须拥有一个注册的PAUSE账户。注册免费,账户通常在24小时内激活。一旦您拥有注册的PAUSE账户,就可以通过命令行安装CPAN::Uploader

cpan CPAN::Uploader

CPAN::Uploader安装完成后(它有许多依赖项,包括NetSSLeay的C库)在命令行中输入

cpan-upload

您应该会看到cpan-upload的帮助输出显示

Please provide at least one file name.
usage: cpan-upload [options] file-to-upload
    -v --verbose       enable verbose logging
    -h --help          display this help message
    --dry-run          do not actually upload anything

    -u --user          your PAUSE username
    -p --password      the password to your PAUSE account
    -d --directory     a dir in your CPAN space in which to put the files
    --http-proxy       URL of the http proxy to use in uploading

1步骤方法

要将文件上传到PAUSE,语法如下

cpan-upload -u username -p password My-App-0.01.tar.gz

其中username和password是您的PAUSE账户凭据,后面跟着您要上传的文件路径。成功加载后,cpan-upload将显示以下输出

registering upload with PAUSE web server
POSTing upload for My-App-0.01.tar.gz to https://pause.perl.org/pause/authenquery
PAUSE add message sent ok [200]

2步骤方法涉及使用您的用户名和要上传的文件路径调用cpan-upload。然后cpan-upload将提示您输入密码,该密码将直接以隐藏格式输入到Perl中

cpan-upload -u sillymoos My-App-0.01.tar.gz
PAUSE Password:
POSTing upload for My-App-0.01.tar.gz to https://pause.perl.org/pause/authenquery
PAUSE add message sent ok [200]

警告: cpan-upload通过HTTPS(加密)将您的凭据传输到PAUSE服务器,但使用1步骤方法,您确实需要以纯文本形式输入密码,这是一个安全风险,因为许多操作系统会将它们存储在日志中,以及/或处理详情。仅通过搜索终端历史记录就可以揭示您的PAUSE密码。此外,有人可以在您输入密码时读取它。2步骤方法可以降低这种风险,因为密码不会记录在终端中,而是直接进入Perl程序,并且输入密码时密码在屏幕上不可见。话虽如此,密码仍然可以通过堆栈跟踪或系统调用搜索从计算机中提取。cpan-upload具有从您的主目录中的.pause文件读取凭据的能力,这比1步骤方法稍微安全一些(尽管将密码存储在纯文本文件中也会带来其自身的安全漏洞)。在这三种选择中,2步骤方法似乎是最安全的。


本文最初发布在PerlTricks.com上。

标签

David Farrell

David是一位专业程序员,他经常推文博客关于代码和编程的艺术。

浏览他们的文章

反馈

这篇文章有什么问题吗?请通过在GitHub上打开问题或拉取请求来帮助我们。