Memcached安装问题

时间:2010-12-12 02:05:00

标签: memcached yum

我正在尝试将memcached安装到REDHAT Enterprise 5.5 x86_64

我试过了:

root@sv [~]# yum -y install memcached

然后收到以下错误

--> Running transaction check
---> Package memcached.x86_64 0:1.4.5-1.el5.rf set to be updated
--> Processing Dependency: perl(AnyEvent) for package: memcached
--> Processing Dependency: perl(AnyEvent::Socket) for package: memcached
--> Processing Dependency: perl(AnyEvent::Handle) for package: memcached
--> Processing Dependency: perl(YAML) for package: memcached
--> Processing Dependency: perl(Term::ReadKey) for package: memcached
--> Processing Dependency: libevent-1.1a.so.1()(64bit) for package: memcached
--> Running transaction check
---> Package compat-libevent-11a.x86_64 0:3.2.1-1.el5.rf set to be updated
---> Package memcached.x86_64 0:1.4.5-1.el5.rf set to be updated
--> Processing Dependency: perl(AnyEvent) for package: memcached
--> Processing Dependency: perl(AnyEvent::Socket) for package: memcached
--> Processing Dependency: perl(AnyEvent::Handle) for package: memcached
--> Processing Dependency: perl(YAML) for package: memcached
--> Processing Dependency: perl(Term::ReadKey) for package: memcached
--> Finished Dependency Resolution
memcached-1.4.5-1.el5.rf.x86_64 from rpmforge has depsolving problems
  --> Missing Dependency: perl(AnyEvent::Socket) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
memcached-1.4.5-1.el5.rf.x86_64 from rpmforge has depsolving problems
  --> Missing Dependency: perl(AnyEvent) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
memcached-1.4.5-1.el5.rf.x86_64 from rpmforge has depsolving problems
  --> Missing Dependency: perl(AnyEvent::Handle) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
memcached-1.4.5-1.el5.rf.x86_64 from rpmforge has depsolving problems
  --> Missing Dependency: perl(YAML) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
memcached-1.4.5-1.el5.rf.x86_64 from rpmforge has depsolving problems
  --> Missing Dependency: perl(Term::ReadKey) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
Error: Missing Dependency: perl(AnyEvent::Socket) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
Error: Missing Dependency: perl(AnyEvent) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
Error: Missing Dependency: perl(AnyEvent::Handle) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
Error: Missing Dependency: perl(YAML) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
Error: Missing Dependency: perl(Term::ReadKey) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest

这是否意味着我需要Term :: ReadKey,AnyEvent :: Socket,AnyEvent等才能安装memcached?当我试图安装“AnyEvent”时,这也给了我一些问题。

root@sv [~]# rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/perl-AnyEvent-5.240-1.el5.rf.noarch.rpm
Retrieving http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/perl-AnyEvent-5.240-1.el5.rf.noarch.rpm
error: Failed dependencies:
        perl(EV) >= 3.05 is needed by perl-AnyEvent-5.240-1.el5.rf.noarch
        perl(Guard) >= 1.02 is needed by perl-AnyEvent-5.240-1.el5.rf.noarch
        perl(JSON) >= 2.09 is needed by perl-AnyEvent-5.240-1.el5.rf.noarch
        perl(JSON::XS) >= 2.2 is needed by perl-AnyEvent-5.240-1.el5.rf.noarch
        perl(Net::SSLeay) >= 1.33 is needed by perl-AnyEvent-5.240-1.el5.rf.noarch

UPDATE !!!! 2011年1月19日

用户:Stephan Kristyn建议更新一些perl模块,但这对我来说没有用。 在我更新了两个模块后,我再次运行了yum,结果就是这里。

root@sv [~]# yum -y install memcached
Loaded plugins: rhnplugin
rpmforge                                                            | 1.1 kB     00:00     
Excluding Packages in global exclude list
Finished
Setting up Install Process
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
--> Running transaction check
---> Package memcached.x86_64 0:1.4.5-1.el5.rf set to be updated
--> Processing Dependency: perl(AnyEvent) for package: memcached
--> Processing Dependency: perl(AnyEvent::Socket) for package: memcached
--> Processing Dependency: perl(AnyEvent::Handle) for package: memcached
--> Processing Dependency: perl(YAML) for package: memcached
--> Processing Dependency: perl(Term::ReadKey) for package: memcached
--> Processing Dependency: libevent-1.1a.so.1()(64bit) for package: memcached
--> Running transaction check
---> Package compat-libevent-11a.x86_64 0:3.2.1-1.el5.rf set to be updated
---> Package memcached.x86_64 0:1.4.5-1.el5.rf set to be updated
--> Processing Dependency: perl(AnyEvent) for package: memcached
--> Processing Dependency: perl(AnyEvent::Socket) for package: memcached
--> Processing Dependency: perl(AnyEvent::Handle) for package: memcached
--> Processing Dependency: perl(YAML) for package: memcached
--> Processing Dependency: perl(Term::ReadKey) for package: memcached
--> Finished Dependency Resolution
memcached-1.4.5-1.el5.rf.x86_64 from rpmforge has depsolving problems
  --> Missing Dependency: perl(AnyEvent::Socket) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
memcached-1.4.5-1.el5.rf.x86_64 from rpmforge has depsolving problems
  --> Missing Dependency: perl(AnyEvent) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
memcached-1.4.5-1.el5.rf.x86_64 from rpmforge has depsolving problems
  --> Missing Dependency: perl(AnyEvent::Handle) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
memcached-1.4.5-1.el5.rf.x86_64 from rpmforge has depsolving problems
  --> Missing Dependency: perl(YAML) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
memcached-1.4.5-1.el5.rf.x86_64 from rpmforge has depsolving problems
  --> Missing Dependency: perl(Term::ReadKey) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
Error: Missing Dependency: perl(AnyEvent::Socket) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
Error: Missing Dependency: perl(AnyEvent) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
Error: Missing Dependency: perl(AnyEvent::Handle) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
Error: Missing Dependency: perl(YAML) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
Error: Missing Dependency: perl(Term::ReadKey) is needed by package memcached-1.4.5-1.el5.rf.x86_64 (rpmforge)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest

3 个答案:

答案 0 :(得分:5)

就我而言,在CentOS 5.5 x86_64上,我取得了以下成功:

sudo yum --enablerepo=rpmforge,rpmforge-extras install memcached

显然你需要RPMForge来实现这个目标。 (由于yum日志提到了rpmforge,@ Maya似乎已经拥有它了。)

问题是所需的perl-Net-SSLeay版本包含在 rpmforge-extras 存储库中,默认情况下已禁用。

虽然不同的包装在问题中存在问题,但可能适用相同的原因和解决方案。

答案 1 :(得分:1)

CentOS的yum存储库没有memcached所需的最新perl-Net-SSLeay和perl-IO-Socket-SSL软件包。我做了一些谷歌搜索,发现其他人在没有解决方案的情况下遇到了类似的问题。这是一个简单的解决方法:

首先,删除旧的perl模块。然后下载并安装memcached所需的新版本。

rpm-e perl-Net-SSLeay-1.30-4.fc6
rpm -e perl-IO-Socket-SSL-1.01-1.fc6
wget http://packages.sw.be/perl-Net-SSLeay/perl-Net-SSLeay-1.36-1.el5.rfx.i386.rpm
wget http://packages.sw.be/perl-Net-SSLeay/perl-Net-SSLeay-1.36-1.el5.rfx.x86_64.rpm
wget http://packages.sw.be/perl-IO-Socket-SSL/perl-IO-Socket-SSL-1.34-1.el5.rfx.noarch.rpm
rpm -i perl-Net-SSLeay-1.36-1.el5.rfx.x86_64.rpm
rpm -i perl-Net-SSLeay-1.36-1.el5.rfx.i386.rpm
rpm -i perl-IO-Socket-SSL-1.34-1.el5.rfx.noarch.rpm

现在您应该可以安装memcached而不会出错。

yum -y install memcached

积分和更多信息:http://mattdanger.net/2010/12/perl-net-ssleay-dependency-error-when-installing-memcached-with-yum/

答案 2 :(得分:0)

您的虚拟化工具或控制面板在yum配置中禁用了某些软件包;请咨询所述工具的开发人员,了解如何解决此问题。