knife 上传在依赖项检查中失败,但存在依赖项

knife upload fails on dependency checks but dependencies are there

我正在尝试将 Chef Store 中的 wordpress 食谱上传到我的服务器,但它在两个依赖项上一直失败,说它们不在服务器上,但它们已经存在。

> knife cookbook upload wordpress
Uploading wordpress      [3.0.0]
ERROR: Cookbook wordpress depends on cookbooks which are not currently
ERROR: being uploaded and cannot be found on the server.
ERROR: The missing cookbook(s) are: 'mysql2_chef_gem' version '~> 1.0.1', 'php-fpm' version '~> 0.6.10'

---------

knife cookbook list
7-zip                           1.0.2
ant                             1.0.2
apache2                         3.2.2
app-slave                       0.3.0
apt                             2.9.2
ark                             0.9.0
artifact                        1.12.1
bash-shellshock                 1.0.0
bluepill                        2.3.1
build-essential                 2.2.3
certificate                     1.0.0
certificate-concatenation       0.1.1
chef-client                     4.3.0
chef-secret                     0.1.0
chef-sugar                      3.3.0
chef-vault                      1.3.2
chef_handler                    1.2.0
chocolatey                      0.4.0
compat_resource                 12.7.1
cron                            1.6.1
curl                            2.0.1
database                        5.1.2
debitel-service                 0.9.0
dmg                             2.3.0
docker                          2.4.12
docker-registry-credentials     0.1.0
git                             4.3.4
iis                             4.2.0
java                            1.39.0
java-service                    0.7.0
logrotate                       1.9.2
logstash                        0.12.0
logstash-agent                  0.9.0
mariadb                         0.3.1
mesos                           3.5.1
mesosphere_dcos                 0.2.1
mysql                           8.0.2
mysql2_chef_gem                 1.1.0
nexus                           3.3.0
nginx                           2.7.6
nginx-proxy                     0.2.1
nginx_php-fpm                   0.1.0
nginxproxy                      0.1.0
nginxproxy443                   0.2.0
nginxproxy443_stage             0.2.0
nginxproxy8080                  0.1.0
nginxproxy8888                  0.1.0
nginxproxy8888_ssl              0.1.1
nginxproxy8888_ssl_production   0.1.1
nginxproxy8888_ssl_stage        0.1.1
ohai                            2.0.1
openssl                         4.4.0
packagecloud                    0.0.19
php                             1.10.1
php-fpm                         0.7.6
poise                           2.3.2
poise-languages                 1.0.0
poise-python                    1.0.0
postgresql                      4.0.6
python                          1.4.6
rsyslog                         2.0.0
runit                           1.7.2
selinux                         0.9.0
server_setup                    0.1.3
ssh-keys                        1.2.7
sudo                            2.7.2
sudo_centos                     0.1.0
supervisord                     1.0.1
tar                             0.7.0
users                           1.8.2
users_itops                     0.1.0
users_oetinger                  0.1.0
users_tigerbooks                0.1.0
windows                         1.44.3
xml                             2.0.0
yum                             3.10.0
yum-epel                        0.6.2
zabbix-agent                    0.13.0
zookeeper                       3.0.0

当我对上传命令进行完全冗长时,我得到了这个:

> knife cookbook upload wordpress -VV
INFO: Using configuration from /Users/jjimenez/.chef/knife.rb
DEBUG: Chef::HTTP calling Chef::HTTP::JSONInput#handle_request
DEBUG: Chef::HTTP calling Chef::HTTP::JSONOutput#handle_request
DEBUG: Chef::HTTP calling Chef::HTTP::CookieManager#handle_request
DEBUG: Chef::HTTP calling Chef::HTTP::Decompressor#handle_request
DEBUG: Chef::HTTP calling Chef::HTTP::Authenticator#handle_request
DEBUG: Signing the request as juan
DEBUG: Chef::HTTP calling Chef::HTTP::RemoteRequestID#handle_request
DEBUG: Chef::HTTP calling Chef::HTTP::ValidateContentLength#handle_request
DEBUG: Initiating GET to https://itdevchef.verlagsgruppe-oetinger.de/organizations/tigerbooks/cookbooks?num_versions=all
DEBUG: ---- HTTP Request Header Data: ----
DEBUG: Accept: application/json
DEBUG: Accept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3
DEBUG: X-Ops-Server-API-Version: 1
DEBUG: ---- End HTTP Request Header Data ----
DEBUG: ---- HTTP Status and Header Data: ----
DEBUG: HTTP 1.1 200 OK
DEBUG: server: openresty/1.9.7.2
DEBUG: date: Mon, 05 Sep 2016 11:11:29 GMT
DEBUG: content-type: application/json
DEBUG: transfer-encoding: chunked
DEBUG: connection: close
DEBUG: x-ops-server-api-version: {"min_version":"0","max_version":"1","request_version":"1","response_version":"1"}
DEBUG: x-ops-api-info: flavor=cs;version=12.0.0;oc_erchef=12.8.0
DEBUG: content-encoding: gzip
DEBUG: ---- End HTTP Status/Header Data ----
DEBUG: Chef::HTTP calling Chef::HTTP::ValidateContentLength#handle_response
DEBUG: HTTP server did not include a Content-Length header in response, cannot identify truncated downloads.
DEBUG: Chef::HTTP calling Chef::HTTP::RemoteRequestID#handle_response
DEBUG: Chef::HTTP calling Chef::HTTP::Authenticator#handle_response
DEBUG: Chef::HTTP calling Chef::HTTP::Decompressor#handle_response
DEBUG: Decompressing gzip response
DEBUG: Chef::HTTP calling Chef::HTTP::CookieManager#handle_response
DEBUG: Chef::HTTP calling Chef::HTTP::JSONOutput#handle_response
DEBUG: Chef::HTTP calling Chef::HTTP::JSONInput#handle_response
Uploading wordpress      [3.0.0]
DEBUG: Versions of cookbook 'php' returned by the server: 1.10.1
DEBUG: Matched cookbook 'php' with constraint '>= 0.0.0' to cookbook version '1.10.1' on the server
DEBUG: Versions of cookbook 'openssl' returned by the server: 4.4.0
DEBUG: Matched cookbook 'openssl' with constraint '>= 0.0.0' to cookbook version '4.4.0' on the server
DEBUG: Versions of cookbook 'apache2' returned by the server: 3.2.2
DEBUG: Matched cookbook 'apache2' with constraint '>= 2.0.0' to cookbook version '3.2.2' on the server
DEBUG: Versions of cookbook 'database' returned by the server: 5.1.2
DEBUG: Matched cookbook 'database' with constraint '>= 1.6.0' to cookbook version '5.1.2' on the server
DEBUG: Versions of cookbook 'mysql' returned by the server: 8.0.2
DEBUG: Matched cookbook 'mysql' with constraint '>= 6.0' to cookbook version '8.0.2' on the server
DEBUG: Versions of cookbook 'mysql2_chef_gem' returned by the server: 1.1.0
DEBUG: Versions of cookbook 'build-essential' returned by the server: 2.2.3
DEBUG: Matched cookbook 'build-essential' with constraint '>= 0.0.0' to cookbook version '2.2.3' on the server
DEBUG: Versions of cookbook 'iis' returned by the server: 4.2.0
DEBUG: Matched cookbook 'iis' with constraint '>= 1.6.2' to cookbook version '4.2.0' on the server
DEBUG: Versions of cookbook 'tar' returned by the server: 0.7.0
DEBUG: Matched cookbook 'tar' with constraint '>= 0.3.1' to cookbook version '0.7.0' on the server
DEBUG: Versions of cookbook 'nginx' returned by the server: 2.7.6
DEBUG: Matched cookbook 'nginx' with constraint '~> 2.7.4' to cookbook version '2.7.6' on the server
DEBUG: Versions of cookbook 'php-fpm' returned by the server: 0.7.6
DEBUG: Versions of cookbook 'selinux' returned by the server: 0.9.0
DEBUG: Matched cookbook 'selinux' with constraint '~> 0.7' to cookbook version '0.9.0' on the server
ERROR: Cookbook wordpress depends on cookbooks which are not currently
ERROR: being uploaded and cannot be found on the server.
ERROR: The missing cookbook(s) are: 'mysql2_chef_gem' version '~> 1.0.1', 'php-fpm' version '~> 0.6.10'

食谱 - 在那里 - 但它们没有生成匹配项。 ????

有人知道这是怎么回事吗and/or如何解决这个问题?

ERROR: The missing cookbook(s) are: 'mysql2_chef_gem' version '~> 1.0.1', 'php-fpm' version '~> 0.6.10'


mysql2_chef_gem                 1.1.0
php-fpm                         0.7.6

这里你的约束是 pessimistic greater than 匹配,版本 X.Y.Z,这意味着 Z 应该大于或等于,但是 XY 应该一样。

听起来您没有 mysql2_chef_gem 版本 1.0.x 的食谱,也没有 php-fpm 版本 0.6.x 上传到您的厨师服务器。

您可以使用 knife cookbook show <cookbook_name>knife cookbook list -a 查看所有版本。