厨房/ berkshelf希望老宝石? [英] Kitchen/berkshelf wants old gem?
问题描述
我想测试一下食谱的一些变化,所以我做了我以前做的事情,但结果远不是正常的:
$ ../gem-sucks/bin/kitchen converge
-----> Starting Kitchen(v1.2.1)
!!!!!! 'berkshelf'宝石丢失,必须安装或无法正确激活。如果你使用Bundler:`gem'berkshelf'`,运行`gem install berkshelf`或将以下内容添加到你的Gemfile中。
>>>>>> ------异常-------
>>>>>>类:Kitchen :: UserError
>>>>>>消息:无法加载或激活Berkshelf(无法激活json-1.8.0,已激活json-1.8.1)
>>>>>> ------------- ---------
>>>>>>请参阅.kitchen / logs / kitchen.log了解更多详情
>>>>>>同时尝试运行`厨房诊断 - 所有'用于配置
$ gem list | grep berkshelf
berkshelf(3.2.1,3.1.4,2.0.10,2.0.9)
berkshelf-api-client(1.2.0)
$ gem list | grep json
json(1.8.1,1.8.0)
multi_json(1.10.1,1.7.9)
<这台机器正在运行Debian Jessie,并且自从我最后一次触摸这本食谱以来,很多软件包(我不知道是否有任何与Ruby有关的内容)已经更新。
如何让厨房再次工作?
如果您使用的是ChefDk,那么您可以通过以下方式解决问题:删除安装在 GEM_HOME
(在我的例子中为 /home/username/.chefdk
)的宝石。
如果这不起作用,请尝试使用bundle中的 bundle exec kitchen converge
,这应该允许您使用已安装的gems你的清单。
I want to test some changes to a cookbook, so I did what I used to do, but the result was far from normal:
$ ../gem-sucks/bin/kitchen converge -----> Starting Kitchen (v1.2.1) !!!!!! The `berkshelf' gem is missing and must be installed or cannot be properly activated. Run `gem install berkshelf` or add the following to your Gemfile if you are using Bundler: `gem 'berkshelf'`. >>>>>> ------Exception------- >>>>>> Class: Kitchen::UserError >>>>>> Message: Could not load or activate Berkshelf (can't activate json-1.8.0, already activated json-1.8.1) >>>>>> ---------------------- >>>>>> Please see .kitchen/logs/kitchen.log for more details >>>>>> Also try running `kitchen diagnose --all` for configuration $ gem list | grep berkshelf berkshelf (3.2.1, 3.1.4, 2.0.10, 2.0.9) berkshelf-api-client (1.2.0) $ gem list | grep json json (1.8.1, 1.8.0) multi_json (1.10.1, 1.7.9)
The machine is running debian Jessie, and lots of packages (I have no idea whether anything ruby related is among) has been updated since I touched this cookbook last.
How do I make kitchen work again?
If you're using ChefDk, then you might be able to fix the problem by deleting the gems installed at GEM_HOME
(in my case /home/username/.chefdk
).
If that doesn't work, try using bundle as in bundle exec kitchen converge
, this should allow you to use the installed gems in your list.
这篇关于厨房/ berkshelf希望老宝石?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!