不能将init作为非root用户

我正在尝试使用test-kitchen ,一个工具来testing厨师虚拟机)的食谱。 然而,当遵循指南和做kitchen init --driver=kitchen-vagrant ,我得到以下错误:

  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. 

我不是以root身份运行。 我主要是一个Python程序员,并不太了解Ruby生态系统(和gem等)。 在python中,使用pip,可以使用--user将python软件包安装到用户的主目录。 或者使用本地存储的virtualenv

其他人也有类似的问题, 但build议/接受的答案有时是作为根源运行 。 我没有做任何事情。

我正在使用Ubuntu Linux 14.04.1可靠。 我想为虚拟机使用vagrant (但是如果需要的话,我可以更改为另一个本地虚拟机系统)。

有没有一个标准的方法来安装和使用用户的主目录中的附加Rubygem?

这听起来像你已经从Ubuntu安装了“ruby”软件包,并安装了testing厨房作为rubygem。 强烈build议您开发使用ChefDK的厨师食谱代码。 Chef Software,Inc.为包括Ubuntu Linux 14.04在内的工作站使用的几个stream行平台上的ChefDK创build本地(deb)包。 如果你想用apt-get下载,还有一个包含ChefDK的apt库 。

ChefDK包括厨师,testing厨房和厨房游民,以及其他许多有用的厨师食谱开发工具。 如果Chef是你所需要的系统上的Ruby,你也可以用它作为默认的“系统”ruby 。 如果你这样做,一定要卸载发行版的“ruby”包。

拥有这个软件包的动机是因为CHEF以不同于发行版发行软件的速度运行。 通常情况下,分发包版本库中不提供最新版本的Ruby / RubyGems的新版本,而在各种发行版之间,它们的版本周期却截然不同。 作为一名Python程序员,我相信你可以对此表示慰问,因为在不同的发行版上可以使用各种python版本。