为CPAN-PRC配置您的计算机
之前我写了关于为什么你应该加入CPAN Pull Request Challenge的文章。现在我将解释如何为你的作业准备好你的计算机。你可以获取一个Docker镜像立即开始编码,或者你可以在计算机上安装所有你需要的东西。
选项1:Docker方法
使用一个包含所有你需要的Docker镜像,你可以在几分钟内开始工作。
1:安装Docker
在Ubuntu上
$ sudo apt-get install docker.io
2:Fork & 克隆存储库
现在你需要为你的PRC任务fork和克隆分配给你的GitHub存储库。例如,我创建了这个fork,并且可以使用以下命令克隆它:
$ git clone https://github.com/kyzn/App-p ~/Desktop/App-p
3:运行Docker
我准备了一个Docker镜像,其中包含稳定版本的Perl、perlbrew、cpanm和dzil,所有都预安装。
以下是我在步骤3中克隆的存储库上运行docker的方法
$ docker run -v ~/Desktop/App-p:/App-p -it kyzn/perlbrew-prc
其中
~/Desktop/App-p
是存储库的本地路径/App-p
是Docker镜像内目录的路径
这将启动一个Ubuntu镜像作为root用户,将存储库挂载到/App-p
。已经安装了Git,但你需要使用你的本地(非Docker)终端来pull/push。镜像中还安装了文本编辑器nano、vim和emacs。你也可以使用你的本地文本编辑器。
构建Docker镜像
或者,你可以手动构建Docker镜像。请注意,这需要一些时间
$ git clone https://github.com/kyzn/perlbrew-prc-dockerimage
$ cd perlbrew-prc-dockerimage
$ docker build -t kyzn/perlbrew-prc:my_build .
然后使用相同的docker run
命令与你的my_build
标签。
选项2:本地方法
你可以在计算机上安装相同的工具;我为macOS和Ubuntu准备了说明。这通常需要大约一到两个小时。
macOS用户注意事项
在安装期间,Perl会请求对传入网络连接的权限。拒绝该请求不会影响CPAN-PRC的目的。
通过cpanm
安装模块可能会出现权限错误。在终端中运行
$ sudo chown -R $USER:staff ~/.cpanm
此命令更改cpanm文件夹的所有者,通常可以解决这个问题。
你需要安装homebrew
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
1:安装Perlbrew
大多数系统都安装了一定版本的Perl。然而,通常建议不要修改系统Perl,因为应用程序依赖于其状态。这就是我们想要为开发目的安装一个单独的Perl的原因。
$ curl -L https://install.perlbrew.pl | bash
完成后,它将要求你将source ~/perl5/perlbrew/etc/bashrc
添加到你的~/.bashrc
中。你应该立即按照指示操作。
2:安装Perl
现在我们已经有了Perlbrew,我们可以继续在我们的计算机上安装Perl,同时保持系统Perl单独存在。我将建议安装最新的稳定版本。你可以运行perlbrew available
来查看最常见的版本。请注意,这需要一段时间。
$ perlbrew install -j 4 stable
使用Perlbrew使用Perl版本有两种方式:use
和switch
。use
是临时的,一旦你关闭终端就会消失。这就是为什么我建议使用switch
,这将使其永久。将版本更改为你刚刚安装的版本。你可以运行perlbrew list
来查看已安装的版本。
$ perlbrew switch $(perlbrew list)
为了确保开关正常工作,请在终端中检查您的 Perl 版本
$ perl -v
3: 安装 cpanm
这是一个脚本,可以帮助您安装 CPAN 模块。已经安装了一个客户端,称为 cpan
。但是,cpan
需要配置,并且比 cpanm
更冗长、更慢。
$ perlbrew install-cpanm
为了确保您正在使用 perlbrew 安装的 cpanm,请运行此命令
$ which cpanm | grep perlbrew
如果终端显示任何匹配的输出,则表示操作成功。
4: 安装 dzil
许多 CPAN 作者使用 dzil 来构建和发布他们的模块。您的 PRC 作业有 dist.ini 文件(dzil 配置)的可能性很高。
首先您需要安装一个非 Perl 依赖项,openssl。在 macOS 上
$ brew install openssl
和在 Ubuntu 上
$ sudo apt-get install libssl-dev
然后使用 cpanm 安装 Dist::Zilla。请注意,这需要一些时间,因为它有许多依赖项。
$ cpanm Dist::Zilla
5: 安装 reply(可选)
reply
是一个交互式壳,允许您进行探索。
Ubuntu 用户需要安装这些缺失的依赖项
$ sudo apt-get install libncurses5-dev libreadline-dev
现在安装 reply
$ cpanm Term::ReadLine::Gnu Reply
现在您可以为您的作业工作了!祝您好运!
标签
反馈
这篇文章有问题吗?请在 GitHub 上打开一个问题或拉取请求以帮助我们。