Parece que o Chef Server está instalado em uma máquina virtual criada pelo Vagrant ( /opt/vagrant_ruby
). No entanto, o Chef Server 11+ é construído em Erlang, não em Ruby. Ele vem com Ruby, mas você não deve usá-lo diretamente. Está lá para gerenciar o Chef Server com chef-server-ctl
.
A instalação na caixa Vagrant acima provavelmente coloca os vários binários Ruby no $ PATH padrão, o que significa que usar gem install
tentará instalar o knife-windows
gem no Ruby colocado lá pelo Vagrant.
Para mais explicações, os pacotes que o Opscode oferece para o Chef e o Chef Server incluem sua própria instalação separada do Ruby. Opscode faz isso porque as plataformas suportadas pelo Chef e pelo Chef Server têm versões diferentes (desatualizadas) do Ruby fornecidas por padrão.
Dia a dia, a maior parte da interação com o Chef Server será através da API usando knife
(ou o webui). knife
e seus plugins devem ser usados de um sistema "workstation" como um laptop local. Se o Chef for o único motivo para ter o Ruby instalado, use o Ruby incorporado no pacote Chef , que deve ser instalado em o sistema local. Os instaladores estão disponíveis para a maioria das principais plataformas, incluindo Ubuntu, Windows, OS X e outros. Vários cabeçalhos de desenvolvimento e ferramentas de construção (gcc, make, etc) podem ser necessários dependendo dos plugins.
Por que vale a pena, a versão do Ruby no pacote "omnibus" atual para o Chef Server não é 1.8.7. Pode ser encontrado em:
ubuntu@os-9348884648703137:~$ /opt/chef-server/embedded/bin/ruby --version
ruby 1.9.3p286 (2012-10-12 revision 37165) [x86_64-linux]
(versão atual na redação deste artigo)
A versão do Ruby usada no pacote do cliente Chef geralmente é atualizada com mais frequência, pois as necessidades de uso do cliente / estação de trabalho são mais rápidas do que o Chef Server. A versão incorporada do Ruby no pacote do cliente Chef é:
% /opt/chef/embedded/bin/ruby --version
ruby 1.9.3p286 (2012-10-12 revision 37165) [x86_64-darwin11.2.0]
Opscode planeja atualizar esta versão na próxima versão, por isso pode ser diferente do que é mostrado para os futuros visitantes deste site. Observe também que isso veio de uma instalação de "estação de trabalho local" em vez do servidor Chef.