4

私はシェフでこれをやろうとしています:

package("libreadline5-dev") do
  package_name "libreadline5-dev"
  retry_delay 2
  retries 0
  recipe_name "default"
  cookbook_name :"nginx-passenger"
  action :install
end

次のエラーが発生します。

================================================================================
Error executing action `install` on resource 'package[libreadline5-dev]'
================================================================================

Chef::Exceptions::Package
-------------------------
libreadline5-dev has no candidate in the apt-cache

Resource Declaration:
---------------------
# In /var/chef/cookbooks/nginx-passenger/recipes/default.rb

 15: package "libreadline5-dev"
 16: package "build-essential"

Compiled Resource:
------------------
# Declared in /var/chef/cookbooks/nginx-passenger/recipes/default.rb:15:in `from_file'

バージョン:

ルビー1.8.7

シェフ: 10.16.2

Ubuntu: 12.04 (EC2 インスタンス)

誰かがこれを修正するのを手伝ってくれますか? これを試しましたが、問題は解決しませんでした。

4

3 に答える 3

4

私の知る限り、 libreadline5-devUbuntu 12.04には含まれなくなりました。

libreadline-dev代わりに を試してみてください。

于 2013-01-19T01:55:23.473 に答える
0

私はパーティーに本当に遅れていますが、この質問を除いて、このエラーを検索しても実際には結果が見つかりませんでした. 私は同じ問題に遭遇しました。これは、古い古い apt-get プロセスが原因で、apt-purge がロックを取得できなかったことが原因でした。apt-get update を試すことで確認できます:

$ sudo apt-get update
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the list directory

$ ps auxww | grep apt
root     23488  0.0  0.0  19408  2336 ?        S    Jun03  28:42 /usr/bin/apt-get -q -y --force-yes -o Dpkg::Options::=--force-confold update

その apt-get プロセスを手動で強制終了し、apt-get update を実行した後、chef は正常に実行されました。

于 2013-11-21T19:04:24.610 に答える
0

ntp クックブックによってインストールされた ntp パッケージでも同じ問題が発生しました。

実行後

apt-get check
apt-get update
chef-client

手でdebianマシンのシェルでそれはうまくいきましたが、何が問題を引き起こしたのかわかりませんでした。多分誰かがアイデアを持っていますか?

それが役立つことを願っています。

于 2013-01-09T07:24:02.263 に答える