有很多特定于语言的包管理器,例如用于 perl 的 cpan、用于 haskell 的 cabal 等。当我们想要安装某些软件时,有时可以从相应的存储库安装它,安装说明就像(例如,亚西)npm install yaxy
或cpan something
或cabal install something
.
这些包管理器的语法略有不同,它们都需要root权限和/或自定义设置,或者(在Yaxy的情况下)只是更新版本的解释器(Ubuntu打包的nodejs太旧而无法运行)。
是否有针对不同包管理器的包装器可以统一/自动化不同包管理器的设置?
编辑:我想要的是一种执行这样的安装命令npm install yaxy
并使其工作的方法,而无需手动安装系统 npm+nodejs、获取非功能性可执行文件、找到在我的系统上安装更新的 nodejs 的最简单方法、重新安装...
答案1
我见过的最接近你要求的是我不久前在 github 上发现的一个名为 的项目fpm
。代表 Effing 包管理器。
资料来源:
- gem(甚至为您自动下载)
- python 模块(为您自动下载)
- 梨(也为您下载)
- 目录
- 转速
- 德布
- 节点包 (npm)
目标:
- 德布
- 转速
- 索拉里斯
- 柏油
- 目录
该应用程序fpm
是一个 Ruby gem,因此您可以像这样安装它:
$ gem install fpm
安装后,您可以按如下方式构建包:
$ fpm -s <source type> -t <target type> [list of sources]...
操作系统包管理器与编程语言管理器
我会提醒您将它们视为包管理器。操作系统包是管理应用程序所必需的,但可以使用以下工具完全独立于操作系统来管理 Perl、Ruby 和 Python 等编程语言:
上述编程语言包管理器都不需要以 root 身份运行。如果您愿意,您可以这样做,但一般来说,除了您安装的任何插件模块、gems 等之外,它们还管理编程语言的基本安装。这确实是管理此类编程语言的最合适方法,特别是当它们在系统上设置用于特定应用程序时。
有关更多示例,请参阅我对之前的 U&L 问题的回答,其中我介绍了编程语言包管理器: