1 votes

Impossible de cuisiner init en tant que non-root

J'essaie d'utiliser test-kitchen un outil pour tester les livres de recettes de chef (etc) avec des machines virtuelles. Cependant, lorsque l'on suit le guide et faire kitchen init --driver=kitchen-vagrant J'obtiens l'erreur suivante :

      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.

Je ne l'exécute pas en tant que root. Je suis principalement un programmeur Python, et je ne connais pas beaucoup l'écosystème ruby (et gem etc.). En Python, avec pip, vous pouvez utiliser --user pour installer les paquets Python dans le répertoire personnel de l'utilisateur. Ou utilisez un virtualenv stockées localement.

D'autres personnes ont eu des problèmes similaires, mais la réponse conseillée/acceptée est parfois d'exécuter ceci en tant que root . Je suis no en faisant tout comme la racine.

J'utilise Ubuntu Linux 14.04.1 trusty. J'aimerais utiliser vagabundo pour la VM (mais je peux changer pour un autre système VM local si nécessaire).

Existe-t-il une méthode standard pour installer et utiliser des gemmes Ruby supplémentaires à partir du répertoire d'origine d'un utilisateur ?

1voto

BrewinBombers Points 1122

Il semble que vous ayez installé les paquets "ruby" d'Ubuntu, et installé test-kitchen comme rubygem. Il est fortement recommandé, pour le développement du code du livre de cuisine de Chef, d'utiliser ChefDK . Chef Software, Inc. crée des paquets natifs (deb) pour ChefDK sur plusieurs plateformes populaires pour une utilisation sur station de travail, y compris Ubuntu Linux 14.04. Il existe également un Dépôt apt qui inclut ChefDK si vous préférez télécharger avec apt-get .

Le ChefDK comprend chef, test-kitchen et kitchen-vagrant, ainsi que de nombreux autres outils utiles au développement de livres de recettes Chef. Vous pouvez également l'utiliser comme ruby "système" par défaut si Chef est tout ce dont vous avez besoin pour Ruby sur votre système. Si vous faites cela, assurez-vous de désinstaller le paquet "ruby" de la distribution.

La motivation pour avoir ce paquet est que CHEF évolue à un rythme différent pour les logiciels publiés que pour les distributions. Souvent, la dernière version, ou la nouvelle er Les versions de Ruby/RubyGems ne sont pas disponibles dans les dépôts de paquets des distributions, et entre les différentes distros, les cycles de publication sont très différents. En tant que programmeur Python, je suis sûr que vous pouvez compatir à cette situation, étant donné la variété des versions de Python disponibles sur les différentes distributions.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X