在临时的办公场所网络不畅,有时不能下载cpan上的软件包,所有只能自建一个cpan。

这里使用了工具'minicpan',简单地说:就是把互联网上的CPAN搬到自己的电脑里,它的最初想法来自Randal L. Schwartz的Mirroring your own mini-CPAN,完整的 CPAN 比较大,minicpan 只是把这一模块的最新版本下载下来,所以只有2G左右。

一般用于需要时不必上网就能安装所需模块,或对某时上不了网非常有用,minicpan 是模块CPAN::Mini的一个运行程序。

# cpanm CPAN::Mini

安装此模块,安装完毕后 bin 目录下会有minicpan可执行文件。

# minicpan -l /data/cpan/ -r http://mirrors.163.com/cpan/

如果因为其它原因中断,需要继续要加上'-f'参数。
# minicpan -l /data/cpan/ -r http://mirrors.163.com/cpan/ -f

或者将配置的参数写入文件里,在它运行时读取其内容做为参数即可。操作方法与wget下载工具的'wgetrc'文件类似,只是文件名和写法有些不同罢了。

.minicpanrc
local: /data/cpan/
remote: http://mirrors.163.com/cpan/
exact_mirror: 1

然后修改 minicpan 可执行文件,当然linux下就不用修改这个了,直接在上面这步的当前用户的家目录建一个 .minicpanrc 就行。
%config = config_read( 'C:\user\freeoa\.minicpanrc' );

写入文件的绝对路径。

如何使用

完毕后加自己的CPAN路径加到 Config.pm 里,这里有好几种办法,一种是手工打开 CPAN/Config.pm 修改;另一种是在'cpan'命令提示符下操作:
>cpan
cpan>o conf urllist unshift file:///data/cpan/
cpan>o conf commit

以后安装的话可以直接install,不用联网。
cpan>install DBD::Mysql

要是我们使用 cpanm 就更加容易了
cpanm --mirror ~/data/cpan/ --mirror-only YAML::XS

使用CPANPLUS的cpanp指令时:
CPAN Terminal> s reconfigure
选择项7:7> Select mirrors

之后使用:2> Custom
会填入:Additionals host(s) to add: file://data/cpan
退出回到主菜单,选择项9:9> Save & exit

当然,也要定期运行脚本,使本地的cpan库保持最新。

(转)使用minicpan创建本地CPAN的更多相关文章

  1. Python 创建本地服务器环境生成二维码

    一. 需求 公司要做一个H5手机端适配页面,因技术问题所以H5是外包的,每次前端给我们源码,我们把源码传到服务器让其他人访问看是否存在bug,这个不是很麻烦吗?有人说,可以让前端在他们的服务器上先托管 ...

  2. Git 创建本地仓库

    前面已经搭好环境了,现在我们缺的是一个管理版本控制的仓库.这次的实验是在电脑本地创建本地仓库.指定路径 默认的位置是在你所安装Git的目录下.Git的仓库你可以建在你电脑的任何目录下(最好不要包含有中 ...

  3. 初学git(一):创建本地“仓库”

    初学git(一):创建本地“仓库” 作为一个初学者,我是跟着廖学峰老师的官方博客学习,这里只是做个笔记,哈哈,关于git的历史.和其他版本控制的对比啥的,我就不说了.另外,我这里用的是Mac OS X ...

  4. git怎么创建本地版本仓库

    git怎么创建本地版本仓库 安装git我就不用说了吧!下载地址:https://github.com/msysgit/msysgit/releases/download/Git-1.9.4-previ ...

  5. WeX5学习笔记-创建本地APP相关问题

    1.在Native新建[创建本地APP]时, "服务地址”为本地IP和端口号,例如本地IP为192.168.253.1,端口号为8080,则设置为http://192.168.253.1:8 ...

  6. 创建本地yum软件源,为本地Package安装Cloudera Manager、Cloudera Hadoop及Impala做准备

    一.包管理工具及CentOS的yum 1.包管理工具如何发现可以用的包 包管理工具依赖一系列软件源,工具下载源的信息存储在配置文件中,其位置随某包管理工具不同而变化 使用yum的RedHat/Cent ...

  7. 创建本地Ubuntu镜像

    参考文档 http://www.howtoforge.com/local_debian_ubuntu_mirror 安装服务 : sudo apt-get install apt-mirror apa ...

  8. 创建本地CM 离线服务器

    一.包管理工具及CentOS的yum 1.包管理工具如何发现可以用的包 包管理工具依赖一系列软件源,工具下载源的信息存储在配置文件中,其位置随某包管理工具不同而变化 使用yum的RedHat/Cent ...

  9. git拉取远程分支并创建本地分支和Git中从远程的分支获取最新的版本到本地

    git拉取远程分支并创建本地分支 一.查看远程分支 使用如下Git命令查看所有远程分支: git branch -r 二.拉取远程分支并创建本地分支 方法一 使用如下命令: git checkout ...

随机推荐

  1. php 迭代器使用

    /** * 执行入口 * @author tianyunchong * Time: 4:48 pm * @return null */ public function run() { /** 遍历下所 ...

  2. SQL Server 里的递归查询

    http://www.360doc.com/content/13/0607/11/8463843_291221684.shtml

  3. bfs codeforces 754B Ilya and tic-tac-toe game

    这题简直把我坑死了 所有的坑都被我中了 题意: 思路:bfs or 模拟 模拟似乎没有什么坑 但是bfs真的是坑 AC代码: #include "iostream" #includ ...

  4. hadoop生态圈介绍

    原文地址:大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍   1. hadoop 生态概况 Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用户可以在不了解分 ...

  5. Git分布式版本控制系统学习笔记

    Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.[4]  Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本 ...

  6. windows下C++高精度计时

    写代码时,经常会计算某一段代码的运行时间,以下提供一个微秒级别的类供参考 class CTimeCost { public: CTimeCost(const string &str) : m_ ...

  7. CDN解决方案

    帝联cdn 这算不算是打广告呢?

  8. Web高级征程:《大型网站技术架构》读书笔记系列

    一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...

  9. xamarin UWP证书问题汇总

    打算开发一个软件使用rsa加密的东西,所以有用到数字证书这块,最近遇到些问题, 问题一:使用如下代码添加数字证书后,在证书管理器的当前用户和本地计算机下都找不到这张证书. using (X509Sto ...

  10. SQLite帮助类SQlitehelper 实现对SQLite数据的增删改查

    public class SQLiteHelper { public const string sConn = "Data Source=" + @"path" ...