2011-11-06 8 views
5

¿Cómo puedo resolver este error? Lo consigo cuando ejecuto chef-solo con un archivo de configuración node.json y muy simple, aunque no estoy usando Windows.error de chef: "LoadError: no se carga ningún archivo como - win32/open3"

$ chef-solo -c solo.rb -j node.json 
... 
[Sun, 06 Nov 2011 13:21:03 +0000] FATAL: LoadError: no such file to load -- win32/open3 

solo.rb es:

file_cache_path "/usr/local/var/chef-solo" 
cookbook_path "/home/mjs/workspace/cookbooks" 

node.json es:

{ "run_list": [ "recipe[greeting]" ] } 

Respuesta

8

Opscode recomienda que no clon de todo el repositorio de libros de cocina (por esta razón y otras), y en lugar de descargar los libros de cocina que necesita desde el sitio de la comunidad Chef.

Principalmente, ese repositorio está en desarrollo, y se lanzan libros de cocina individuales en el sitio de la Comunidad. Además, no todos los libros de cocina están optimizados para, o incluso trabajan con Chef Solo. El último archivo README.md en el repositorio de Cookbooks debería dejar esto bastante claro también.

http://wiki.opscode.com/display/chef/Cookbooks http://www.opscode.com/blog/2011/05/05/future-of-opscode-cookbooks/ http://community.opscode.com/

3

En mi caso, esto fue causado por /home/mjs/workspace/cookbooks que contiene todos los libros de cocina de Opscode. (es decir, había clonado su repositorio y estaba agregando un nuevo libro de cocina.) Aunque la lista de ejecución especifica solo mi receta, el chef parece estar haciendo algo con los otros libros de cocina del directorio, al menos uno de los cuales asume que algunos Windows- gema relacionada está instalada.

1

cocinero carga todos los libros de cocina en la ruta de libro de cocina, y los usos recetas que se enumeran en run_list. Porque chef-solo está cargando todos los libros de cocina en el camino, y no solo los que descarga, como lo hace chef-cliente, la mayoría de las veces carga (como en, incluye el guión de rubí) cosas que no usaste significa que se cargue.

Para mí sucedió en el libro de cocina de Windows cuando probé alguna receta con Vagrant. Acabo de comentar la línea require, como una solución alternativa.

Para probar recetas con chef-solo, tengo una rama de git con algunas confirmaciones que evitan estos problemas. Dado que estos compromisos son generalmente pequeños y no están relacionados con las recetas que estoy probando, solo para asegurarse de que chef-solo se está ejecutando, esto es suficiente para evitar estos problemas.

Cuestiones relacionadas