CentOS 6.4 上的依赖关系损坏:可以安装 nodejs,但不能安装 npm

CentOS 6.4 上的依赖关系损坏:可以安装 nodejs,但不能安装 npm

我正在使用全新安装的 CentOS 6.4 (x86-64) 和 EPEL 存储库。

$ yum install nodejs
...
$ node -v
v0.10.5

到目前为止一切顺利,但是当我尝试安装时npm,我会收到此错误消息:

$ yum install npm
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: ftp.halifax.rwth-aachen.de
 * epel: mirror.fraunhofer.de
 * extras: centos.psw.net
 * updates: centos.psw.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package npm.noarch 0:1.2.17-5.el6 will be installed
--> Processing Dependency: npm(which) < 2 for package: npm-1.2.17-5.el6.noarch
--> Processing Dependency: npm(uid-number) < 1 for package: npm-1.2.17-5.el6.noarch
--> Processing Dependency: npm(tar) < 0.2 for package: npm-1.2.17-5.el6.noarch
--> Processing Dependency: npm(slide) < 2 for package: npm-1.2.17-5.el6.noarch
--> Processing Dependency: npm(semver) < 1.2 for package: npm-1.2.17-5.el6.noarch
...
(skipped)
...
--> Finished Dependency Resolution
Error: Package: nodejs-npmlog-0.0.2-4.el6.noarch (epel)
           Requires: npm(ansi) < 0.2
Error: Package: npm-1.2.17-5.el6.noarch (epel)
           Requires: npm(ansi) < 0.2
Error: Package: nodejs-npmlog-0.0.2-4.el6.noarch (epel)
           Requires: npm(ansi) >= 0.1.2
Error: Package: npm-1.2.17-5.el6.noarch (epel)
           Requires: npm(ansi) >= 0.1.2
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

完整的输出相当大: http://pastebin.com/raw.php?i=Ce3ZJsEB

我该怎么办?--skip-broken解决方法似乎不是正确的解决方案。

以下是输出yum repolist

Loaded plugins: fastestmirror, refresh-packagekit, security
Determining fastest mirrors
 * base: centos.copahost.com
 * epel: mirror.fraunhofer.de
 * extras: ftp-stud.fht-esslingen.de
 * updates: centos.copahost.com
 repo id       repo name                                            status
 base          CentOS-6 - Base                                      6,381
 epel          Extra Packages for Enterprise Linux 6 - x86_64       8,909
 extras        CentOS-6 - Extras                                       12
 updates       CentOS-6 - Updates                                     727
 repolist: 16,029

答案1

包裹nodejs-ansi来自 EPEL (nodejs-ansi-0.1.2-7.el6.noarch) 被打破。

尝试:

wget http://kojipkgs.fedoraproject.org//packages/nodejs-ansi/0.1.2/7.el6.1/noarch/nodejs-ansi-0.1.2-7.el6.1.noarch.rpm
yum --enablerepo="epel" install npm ./nodejs-ansi-0.1.2-7.el6.1.noarch.rpm

解决方案建立于 irc.freenode.net 的 #epel 上。

也可以看看:http://pastebin.com/mqFqRqUp 第 28 行

相关内容