厨房/伯克架想要古老的宝石



我想测试对食谱的一些更改,所以我做了我以前做的事情,但结果远非正常:

$ ../宝石吸/垃圾桶/厨房融合-----> 启动厨房 (v1.2.1(!!!!!!"berkshelf"宝石丢失,必须安装或无法正确激活。如果您使用的是捆绑器,请运行"gem install berkshelf"或将以下内容添加到您的 Gemfile:"gem 'berkshelf'"。>>>>>> ------例外------->>>>>>类:厨房::用户错误>>>>>> 消息:无法加载或激活 Berkshelf (无法激活 json-1.8.0,已激活 json-1.8.1(>>>>>> ---------------------->>>>>> 請參閱 .kitchen/logs/kitchen.log 了解更多詳情>>>>>> 还尝试运行"厨房诊断 --all"进行配置$ 宝石列表 |格雷普·伯克谢尔伯克谢尔 (3.2.1, 3.1.4, 2.0.10, 2.0.9(Berkshelf-API-client (1.2.0($ 宝石列表 |格雷普·杰森JSON (1.8.1、1.8.0(multi_json(1.10.1、1.7.9(

这台机器正在运行 debian Jessie,自从我上次接触这本食谱以来,很多软件包(我不知道是否与 ruby 有关(已经更新。

如何让厨房再次工作?

确保 chefdk 在你的路径前面。

PATH=/opt/chefdk/bin:/Users/sowen/.rvm/gems/ruby-2.2.0/bin:/Users/sowen/.rvm/gems/ruby-2.2.0@global/bin:/Users/sowen/.rvm/rubies/ruby-2.2.0/bin:/opt/chefdk/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/sowen/go/bin:/Users/sowen/.rvm/bin:/Users/sowen/.rvm/bin:/Users/sowen/go/bin

遇到了同样的问题,直到我调整并重新采购了我的bash_profile

如果您使用的是 ChefDk,那么您可以通过删除安装在 GEM_HOME 上的 gem 来解决问题(在我的情况下是/home/username/.chefdk(。

如果这不起作用,请尝试使用 bundle 如 bundle exec kitchen converge ,这应该允许您使用列表中已安装的 gem。

我遇到了类似的问题,但 json 没有安装在GEM_HOME中,我最终不得不运行以下命令来解决我的问题。

gem uninstall -i /opt/chefdk/embedded/lib/ruby/gems/2.1.0 json

https://github.com/test-kitchen/kitchen-vagrant/pull/126 查看此问题

您需要重新安装 Gem 的 Berkshelf ,然后应用补丁厨房流浪汉

安装上游厨房流浪者

git clone https://github.com/test-kitchen/kitchen-vagrant.git
cd kitchen-vagrant
gem build kitchen-vagrant.gemspec
gem install kitchen-vagrant-0.15.0.gem

重新安装旧的伯克货架

gem install berkshelf

最新更新