Ошибка шеф-повара: «LoadError: нет такого файла для загрузки - win32 / open3» - PullRequest
5 голосов
/ 06 ноября 2011

Как я могу устранить эту ошибку? Я получаю его при запуске chef-solo с очень простым node.json и файлом конфигурации, хотя я не использую Windows.

$ 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:

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

node.json:

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

Ответы [ 3 ]

8 голосов
/ 22 ноября 2011

Opscode рекомендует , а не клонировать весь репозиторий поваренных книг (по этой и другим причинам) и вместо этого загружать необходимые поваренные книги с сайта сообщества шеф-поваров.находится в разработке, и на сайте Сообщества публикуются отдельные кулинарные книги.Кроме того, не все поваренные книги оптимизированы или даже работают с шеф-поваром Соло.Последний README.md в репозитории Cookbooks также должен прояснить это.

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

3 голосов
/ 06 ноября 2011

В моем случае это было вызвано /home/mjs/workspace/cookbooks, содержащим все поваренные книги opscode.(то есть я клонировал их репозиторий и добавлял новую кулинарную книгу.) Несмотря на то, что в runlist указан только мой рецепт, шеф-повар, кажется, что-то делает с другими кулинарными книгами в каталоге, по крайней мере, одна из которых предполагает, что некоторые Windows-связанный драгоценный камень установлен.

1 голос
/ 05 июня 2012

Шеф-повар загружает все кулинарные книги в пути к кулинарной книге и использует рецепты, перечисленные в run_list. Поскольку chef-solo загружает по пути все поваренные книги, а не только те, которые он загружает, как это делает chef-client, большую часть времени он загружает (например, включает скрипт ruby) то, что вы не имели в виду для загрузки.

Для меня это произошло в кулинарной книге Windows, когда я тестировал какой-то рецепт с Vagrant. Я только что закомментировал строку require в качестве обходного пути.

Для тестирования рецептов с chef-solo я держу ветку git с несколькими коммитами, которые позволяют избежать этих проблем. Поскольку эти коммиты обычно невелики и не связаны с рецептами, которые я тестирую, а просто для того, чтобы убедиться, что chef-solo работает, этого достаточно, чтобы обойти такие проблемы.

...