Parece que você está com um problema de carregamento de caminho.
O instalador omnibus instala o Chef em /opt/chef/bin/chef-client
e, em seguida, vincula simbolicamente a /usr/bin/chef-client
ref1 para que esteja disponível para todos os usuários em $PATH
.
No momento em que você instala rvm, ele vai mexer com $ PATH, especificamente, qual ruby deve ser usado pelo Chef, já que é carregando o ruby do env em execução ao executar.
Ao executar com sudo su -
, você está mudando para o ambiente root
e executando todos os carregadores profile / bashrc / bash_profile que configuram o ambiente de um usuário.
Ao executar com sudo
, você não está carregando o ambiente inteiro, portanto, o RVM não mudará de caminho.
Outro teste que você pode para ver o impacto das diferenças do shell é executar:
sudo which ruby
sudo su - which ruby
E compare as diferenças.
Você pode querer ver o livro de receitas chef-client , que, uma vez executado, o ajudará a configurar um daemon de serviço para controlar / configurar seu serviço chef-cliente (usamos isso em todos os nossos servidores).
Como o rvm é instalado como padrão em todo o sistema, talvez seja necessário desativá-lo para raiz (ou o usuário que você deseja executar como, mas eu sugiro root).