【问题标题】:cpan install then cpan force install produces two copiescpan install 然后 cpan force install 产生两个副本
【发布时间】:2015-03-24 20:02:30
【问题描述】:

上下文:Windows 7。Perl:草莓 5.20 版

序言:我使用来自 cpan shell 的 install 命令安装了 Mail::Sender。它问我是否要输入默认值。我说是,但我只是把所有值都填空了。我真正想要的是拒绝。安装完成后,我重新开始。但为了让任何事情发生,我不得不使用强制安装。这次我对默认值问题回答了“否”。由此产生的安装功能令人满意。但是,查看文件夹 \Strawberry\cpan\build\Mail-Sender\blib\lib 我发现 Mail 模块的两个子目录,显然对应于我的两次安装尝试。

问题:我可以安全地删除这两个 Mail 模块目录中的旧目录吗?

【问题讨论】:

    标签: perl cpan


    【解决方案1】:

    cpan\build 只是cpan 的临时工作区。其内容可以安全删除。

    cpan 的设置build_cache 限制了这个目录的大小。将其设置为零会在每次启动 cpan 和/或每次开始安装模块时清除该目录。


    cpan 获得分发压缩包后的第一件事是将其解压缩到 cpan\build 的一个新的唯一子目录中[1]

    做一些准备工作后,安装过程会将分发安装到一个名为 blib[2] 的临时子目录中。测试将使用安装在blib 中的模块运行。如果测试通过,blib 中的文件将被复制到它们的最终位置。


    1. 如果cpanbuild_dir_reuse 设置为真,则可以重用现有的构建目录。 (我不建议这样做;它会导致问题,没有任何好处。)即使这样,删除构建目录也不是问题。

    2. 这是基于 ExtUtils::MakeMaker 或 Module::Build 安装程序安装的内容。其他安装程序的行为可能有所不同。

    【讨论】:

      猜你喜欢
      • 2018-02-20
      • 1970-01-01
      • 2011-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-22
      • 2017-09-17
      相关资源
      最近更新 更多