Centos

對 CentOS 6.4 的依賴關係被破壞:可以安裝 nodejs 但不能安裝 npm

  • May 31, 2013

我正在使用帶有 EPEL 儲存庫的全新安裝的 CentOS 6.4 (x86-64)。

$ 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

來自 EPEL ( nodejs-ansi-0.1.2-7.el6.noarch ) 的包nodejs-ansi已損壞。

嘗試:

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 行

引用自:https://serverfault.com/questions/511997