当前位置: 首页 > 面试题库 >

使用软件包管理器时如何管理Perl模块?

巢靖
2023-03-14
问题内容

一个最近的问题在这里SO让我思考。

在我尝试过的大多数Linux发行版中,某些Perl模块可以通过软件包管理器获得。其他人当然不会。在相当长的一段时间里,每当我需要安装一些CPAN模块来查找某个软件包是否可用并在安装该软件包时都将使用我的软件包管理器。

明显的好处是,只要有新版本的软件包可用,您就可以更新模块。

但是,当模块无法以预打包的形式提供并且该模块存在依赖项时,您会遇到麻烦。每当cpan shell询问是否应遵循依赖项时,都要启动软件包管理器,这很累人。

通常,另一个缺点是预包装模块的版本。如果您正在运行Debian或Ubuntu,那么您很快就会发现自己将无法像许多CPAN模块作者一样生活在最前沿。

Linux上的其他Perl人员如何处理该问题?您是否只是忽略包裹经理提供的服务?是否有任何工具能够使apt和cpan变得更好(例如)?还是您根本不通过cpan
shell安装任何东西?


问题答案:

自从最初提出此问题以来,perlbrew已被释放。它使安装自定义,自包含的perl安装变得很简单。在这些版本之间切换同样容易:

perlbrew switch $version


 类似资料:
  • 安装 要在集群主机上安装 Ceph 软件包,在管理主机上打开命令行并执行下列命令: ceph-deploy install {hostname [hostname] ...} 没提供额外选项的话 ceph-deploy 默认会把最新稳定版安装到集群主机,要指定某个软件包可以用下列参数: --release <code-name> --testing --dev <branch-or-tag> 例如

  • 问题内容: 我正在尝试使用Node.js编译python脚本。python脚本包括我已安装​​的一些模块。我的python软件包管理器是Anaconda,因此我尝试在以下位置提供该选项: 但是,我得到一个错误: 我怀疑这是因为Anaconda Prompt只是一些奇怪的快捷方式,它为cmd.exe设置了一些变量(快捷方式指向的位置)。 所以我的问题是: 我可以直接使用Node.js调用anacon

  • apt-get Ubuntu 系统软件包管理器 apt-get 命令是 Debian Linux 发行版中的 APT 软件包管理工具。所有基于 Debian 的发行都使用这个包管理系统。 apt-get install xxx #安装软件 apt-get remove xxx ##删除软件 apt-get purge xxx #删除软件并删除配置文件 apt-get autoremove x

  • 包管理器 包管理器或包管理系统是一系列软件工具的集合, 这些软件工具用和电脑操作系统一致的方式, 使应用的安装, 升级, 配置和删除软件包的过程自动化, 它通常维护一个数据库软件的依赖和版本信息, 防止软件不匹配和无法跟踪. - wikipedia 综合学习: Bower 基本原理 [watch][$] 包管理器: 前端开发人员入门指南 [read] NPM: 包的上传和运行 [watch][$]

  • 包管理器 像各种编程语言提供的包管理器 java有maven、gradle,python有pip,php有composer, nodejs有npm, objective-c和swift有pod, ruby有gem, Linux上有yum,apt,dnf等包管理工具, Mac常用的有brew、macport 结合自身从事iOS开发, 整理汇总了曾接触、使用过的一些包管理器 Homebrew 和 Ho

  • 介绍 snap 是通用的 Linux 包管理程序。 https://www.ubuntu.com/desktop/snappy https://snapcraft.io/docs/core/usage command reference 安装 按照 snapcraft 的说法,ubuntu 16.04 默认安装了 snap: https://snapcraft.io/docs/core/insta