0

我正在尝试将测试厨房添加到厨师食谱,但收到错误“无法从加载路径加载 'ssh' 传输”。

我之前按照完全相同的步骤设置了一个测试厨房,没有问题,但那是在另一台机器上。

我试过跑步

gem install net-ssh 

但这似乎并不能解决问题

4

2 回答 2

2

解决了。

我跑了

gem list

这给出了输出

..
net-ssh (2.10.0.beta2, 2.9.2)
..

然后我发出命令:

gem uninstall net-ssh 2.10.9.beta2

并得到输出:

Select gem to uninstall:
 1. net-ssh-2.10.0.beta2
 2. net-ssh-2.9.2
 3. All versions

于是我选择了选项 1,gem 被移除然后运行

kitchen list

按预期工作

于 2015-08-20T08:05:37.503 回答
1

我在 Travis-CI 上的Java SE Chef 食谱遇到了同样的问题:

Chef Development Kit Version: 0.10.0
chef-client version: 12.6.0
berks version: 4.0.1
kitchen version: 1.5.0

抛出这个:

-----> Starting Kitchen (v1.5.0)
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ClientError
>>>>>> Message: Could not load the 'ssh' transport from the load path. Please ensure that your transport is installed as a gem or included in your Gemfile if using Bundler.
>>>>>> ----------------------

我不得不切换到 Dokken 才能让它工作: https ://github.com/someara/kitchen-dokken


修理:

更新 .travis.yml 以安装 kitchen-dokken:

/opt/chefdk/embedded/bin/chef gem install kitchen-dokken

并更新 .kitchen.docker.yml :

transport:
  name: dokken

provisioner:
  name: dokken

verifier:
  root_path: '/opt/verifier'
  sudo: false

driver:
  name: dokken
于 2016-01-17T19:56:45.483 回答