为什么这些 ruby​​ gem 预装在 Precise32 上?

为什么这些 ruby​​ gem 预装在 Precise32 上?

我即将开始配置一个用于开发 Web 应用程序的开发虚拟机。

为此,我使用了 Vagrant。Vagrant 允许您使用包含我选择的操作系统的基本“盒子”(虚拟机磁盘映像?)。对于初学者,我选择了这个:https://atlas.hashicorp.com/hashicorp/boxes/precise32

我注意到,在使用该盒子配置虚拟机并登录后,已经安装了许多 ruby​​ gem:

vagrant@precise32:~$ gem list --local

*** LOCAL GEMS ***

bunny (0.7.9)
chef (10.14.2)
erubis (2.7.0)
facter (1.6.12)
highline (1.6.15)
ipaddress (0.8.0)
json (1.6.1)
mime-types (1.19)
mixlib-authentication (1.3.0)
mixlib-cli (1.2.2)
mixlib-config (1.1.2)
mixlib-log (1.4.1)
mixlib-shellout (1.1.0)
moneta (0.6.0)
net-ssh (2.5.2, 2.2.2)
net-ssh-gateway (1.1.0)
net-ssh-multi (1.1)
ohai (6.14.0)
polyglot (0.3.3)
puppet (2.7.19)
rest-client (1.6.7)
systemu (2.5.2)
treetop (1.4.10)
uuidtools (2.1.3)
yajl-ruby (1.1.0)

我想弄清楚这些宝石为什么在这里。Ubuntu 发行版包含它们是否正常,可能是因为其他软件依赖它们?特别是,我很困惑为什么chef已经安装在这个系统上。

答案1

在您提到的中心(https://atlas.hashicorp.com) 每个创作者都可以免费发布并分享自己的作品。

虽然这不是必须的,但大多数情况下,一个盒子是用考虑很多供应商. 尤其是由哈希公司应该支持许多供应商(puppet、chef、salt、ansible、docker 等)。

此外,这些 gem 不会损害任何其他应用程序,除非您执行 Ruby* 任务。但您始终可以覆盖/删除这些 gem。

相关内容