在临时的办公场所网络不畅,有时不能下载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. 初识Scala反射

    我们知道,scala编译器会将scala代码编译成JVM字节码,编译过程中会擦除scala特有的一些类型信息,在scala-2.10以前,只能在scala中利用java的反射机制,但是通过java反射 ...

  2. jQuery extend扩展String原型

    jQuery.extend(String.prototype, { isPositiveInteger:function(){ return (new RegExp(/^[1-9]\d*$/).tes ...

  3. WebService的工作原理

    Web Service全称XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是:通过SOAP ...

  4. LabVIEW 吸星大法 - 看见的好东西都是我的(上篇)

    前言 写了多年的LabVIEW程序,你是否面临这样的问题 总是在做一些重复的工作,感觉很没有意思: 总在不停的写代码,做类似的控件,实现相同的功能,丝毫没有成就感: 总在天加班,没有时间去提高自己; ...

  5. Java概念性问题

    一.变量命名的五个要素 由字母.数字.“_”和“$” 组成 首字母不能为数字 大小写敏感 不能使用Java的保留字和关键字 可以使用中文命名,但是不建议 二.java的基本数据类型 整数类型:byte ...

  6. jquery 购物车飞入效果

    github https://github.com/amibug/fly demo https://github.com/amibug/fly

  7. Replace 删除、替换函数精解示例

    '************************************************************************* '**模 块 名:Replace函数精解示例 '* ...

  8. CSS基础篇之背景、过渡动画

    background-origin(背景原点) 设置元素背景图片的原始起始位置.必须保证背景是background-repeat为no-repeat属性才能生效. background-origin: ...

  9. libreoffice转换文件为pdf文件乱码问题解决办法

    最近系统需要一个office文件预览功能 解决方案为使用libreoffice将office文件转换为pdf文件,然后使用swftools将pdf文件转换为swf文件 最后在前台使用flexpaper ...

  10. Windows安装和使用zookeeper

    之前整理过一篇文章<zookeeper 分布式锁服务>,本文介绍的 Zookeeper 是以 3.4.5 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apach ...