Não é possível iniciar a cozinha como não raiz

1

Estou tentando usar test-kitchen , uma ferramenta para testar livros de receitas de chef (etc) com máquinas virtuais. No entanto, ao seguir o guia e fazer kitchen init --driver=kitchen-vagrant , recebo o seguinte erro:

      create  .kitchen.yml
      append  Rakefile
      create  test/integration/default
      append  .gitignore
      append  .gitignore
Fetching: kitchen-vagrant-0.15.0.gem (100%)
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions into the /var/lib/gems/1.9.1 directory.

Eu não estou executando isso como root. Eu sou principalmente um programador de python, e não sei muito sobre o ecossistema de rubi (e gem etc.). Em python, com pip, você pode usar --user para instalar pacotes python no diretório inicial do usuário. Ou use um virtualenv armazenado localmente.

Outras pessoas tiveram problemas semelhantes, mas o advise / A resposta aceita é às vezes rodar isso como root . Eu não estou fazendo tudo como root.

Estou usando o Ubuntu Linux 14.04.1 confiável. Eu gostaria de usar vagrant para a VM (mas eu posso mudar para outro sistema de VM local, se necessário).

Existe um método padrão para instalar e usar gems complementares do Ruby a partir do diretório pessoal do usuário?

    
por Rory 26.01.2015 / 11:27

1 resposta

1

Parece que você instalou os pacotes "ruby" do Ubuntu e instalou o test-kitchen como um "rubygem". É altamente recomendável que, para o desenvolvimento do código do livro de receitas do Chef, você use ChefDK . A Chef Software, Inc. cria pacotes nativos (deb) para o ChefDK em várias plataformas populares para uso em estações de trabalho, incluindo o Ubuntu Linux 14.04. Existe também um repositório apt que inclui o ChefDK se você preferir fazer o download com apt-get .

O ChefDK inclui chef, cozinha de teste e cozinha vagabunda, além de muitas outras ferramentas úteis para o desenvolvimento do livro de receitas do Chef. Você também pode usá-lo como seu padrão "sistema" ruby se o Chef é tudo que você precisa Ruby para no seu sistema. Se você fizer isso, certifique-se de desinstalar o pacote "ruby" da distribuição.

A motivação para ter este pacote é porque o CHEF se move em uma taxa diferente de software publicado do que distribuições. Frequentemente, a versão mais recente ou as novas versões er do Ruby / RubyGems não estão disponíveis nos repositórios do pacote de distribuição e, entre as várias distribuições, têm ciclos de lançamento bastante diferentes. Como programador python, tenho certeza de que você pode lamentar isso, dada a variedade de versões do python disponíveis em diferentes distribuições.

    
por 23.03.2015 / 03:58