0

我有一堆食谱文件,一些定义为食谱,一些定义为角色。例如,顶级角色是:

run_list(“角色[el-drupal-cookbook::drupal_lamp_dev]”,“配方[drupal-site-jnl-el-cookbook::default]”)

上面的意图是将服务器设置为drupal Lamp服务器,然后在其上安装特定的网站。

我是从 Vagrant 调用它,使用 add_role 请求,并且图书馆管理员将所有部分放在一起。食谱路径是“食谱”,角色路径是“角色”。

执行此操作时,它会找到顶级角色(与 Vagrantfile 在同一目录中),但不会找到不同食谱中的角色。

由于角色和食谱都存储在食谱路径应该服务的食谱中,所以我显然遗漏了一些东西。任何人都可以帮忙吗?

我在下面附上了错误消息:

[2013-10-24T14:37:28+00:00] INFO: Setting the run_list to ["recipe[apt]", "recipe[git]", "role[drupal-jnl-el]", "recipe[drupal-site-jnl-el-cookbook::disable-cdn]"] from JSON
[2013-10-24T14:37:28+00:00] ERROR: Role el-drupal-cookbook::drupal_lamp_dev (included by 'role[drupal-jnl-el]') is in the runlist but does not exist. Skipping expand.

================================================================================
Error expanding the run_list:
================================================================================


Missing Role(s) in Run List:
----------------------------
* el-drupal-cookbook::drupal_lamp_dev included by 'role[drupal-jnl-el]'


Original Run List
-----------------
* recipe[apt]
* recipe[git]
* role[drupal-jnl-el]
* recipe[drupal-site-jnl-el-cookbook::disable-cdn]

编辑:

流浪文件说:

# define where things have been collected together by librarian-chef
chef.cookbooks_path = ["cookbooks"]
chef.roles_path = ["roles"]

# this installs most of the infrastrucutre required to support a drupal instance
chef.add_recipe "apt" # add this so we have updated packages available
chef.add_recipe "git"
# chef.add_recipe "openvpn"  # vpn needed, but using tunnelblick on mac host instead.

# This role represents our default Drupal development stack.
chef.add_role   "drupal-jnl-el"
4

2 回答 2

1

它说

Missing Role(s) in Run List:
----------------------------
* el-drupal-cookbook::drupal_lamp_dev included by 'role[drupal-jnl-el]'

这意味着roles/drupal.{rb,json}尝试包含 a role[el-drupal-cookbook::drupal_lamp_dev]recipe[el-drupal-cookbook::drupal_lamp_dev]但是应该是 a 。

于 2013-10-25T15:31:26.100 回答
0

您需要将该角色添加到您的刀角色列表中,尝试

knife role from file your_role_name.js

默认情况下,该命令将在角色/目录中查找该角色(在您的项目根目录中)

于 2013-10-25T02:55:40.927 回答