nodejs-0.10.33-1nodesource.fc20.x86_64
我在和之间出现交易检查错误nodejs-semver-2.1.0-1.fc20.noarch
。完全错误位于 要点:8998690a05100b1f6085
当我运行 yum list nodejs 时,我得到:
Installed Packages
nodejs.x86_64 0.10.32-1.fc20 @updates
Available Packages
nodejs.i686 0.10.32-1.fc20 updates
nodejs.x86_64
如果我只安装了一个软件包怎么会发生冲突?而且,我该怎么办?
答案1
从我所看到的来看,这并不是真正的事务错误,而是文件冲突。 IMO(也许有人可以纠正我)你几乎必须删除包裹npm
。物理上或仅来自 RPM 数据库。
如果您对此感到满意,您可以执行
rpm -e npm
卸载软件包并从文件系统中删除冲突文件的操作。这会导致数据丢失,但如果由于nodejs
完全替换软件包而存在冲突npm
,那么应该不会有太大损失,因为安装nodejs
将替换因卸载而丢失的文件。如果您认为无法删除该软件包(它包含其他软件包没有的文件),您可以
--justdb
选择rpm -e
.请注意,这可能会导致您不一定会立即看到的冲突(其中同时安装了冲突版本的文件或旧软件包的碎片保留在系统上等)。您只需做出有根据的猜测,只要文件被覆盖,是否一切都会好起来。
例子:
[root@vml-lvprod04 ~]# ll -h /usr/bin/nc
-rwxr-xr-x 1 root root 22K Feb 9 2010 /usr/bin/nc
[root@vml-lvprod04 ~]# rpm -e --justdb nc
[root@vml-lvprod04 ~]# rpm -ql nc
package nc is not installed
[root@vml-lvprod04 ~]# ll -h /usr/bin/nc
-rwxr-xr-x 1 root root 22K Feb 9 2010 /usr/bin/nc
[root@vml-lvprod04 ~]# yum install -y nc
[ ...snip... ]
Running Transaction
Warning: RPMDB altered outside of yum.
Installing : nc-1.84-22.el6.x86_64 1/1
Verifying : nc-1.84-22.el6.x86_64 1/1
Installed:
nc.x86_64 0:1.84-22.el6
Complete!
正如您所看到的,我从数据库中删除了包,而没有触及实际文件本身。这将防止rpm
出现任何文件冲突。然后,我能够在同一位置安装带有文件的软件包,而不会出现 yum 错误。rpm
旨在预测冲突,因此再次使用时需要您自担风险。