libreadline5-dev在apt-cache中没有候选者

时间:2012-11-17 05:33:05

标签: ruby ubuntu-12.04 chef

我正在尝试在厨师中做到这一点:

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,但没有解决问题。

3 个答案:

答案 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成功运行。