我正在尝试在厨师中做到这一点:
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'
版本:
ruby 1.8.7
厨师:10.16.2
ubuntu:12.04(EC2实例)
有人可以帮我解决这个问题吗?我试过this,但没有解决问题。
答案 0 :(得分:3)
AFAIK,libreadline5-dev
不再包含在Ubuntu 12.04中。
您可能希望尝试使用libreadline-dev
。
答案 1 :(得分:0)
我对ntp cookbook安装的ntp包有同样的问题。
执行
后apt-get check
apt-get update
chef-client
手写在debian机器上的shell中它对我有用但是我找不到导致麻烦的原因。
也许有人有想法?
希望有所帮助。
答案 2 :(得分: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成功运行。