pkgng显示已经安装的缺失依赖项

时间:2016-06-09 05:56:21

标签: dependencies dependency-management freebsd

我试图通过pkgng从我的FreeBSD服务器(10.3 x64)升级Imagemagick-nox11-6.9.4.3(从6.9.4.1开始)并出现错误:

# pkg add --force ImageMagick-nox11-6.9.4.3,1.txz
[litte-j-server.com] Installing ImageMagick-nox11-6.9.4.3,1...
package ImageMagick-nox11 is already installed, forced install
pkg: Missing dependency 'perl5'

Failed to install the following 1 package(s): ImageMagick-nox11-6.9.4.3,1.txz

我很惊讶,因为它是具有大量perl代码的生产服务器。所以,我通过pkgng搜索了它 - 它说已经安装了perl5:

# pkg info|grep perl5
perl5.20-5.20.2                Practical Extraction and Report Language

包是从pkg.freebsd.org下载的,因为我应该只在该服务器上使用本地网络。然后我变得疯狂并在该服务器上打开互联网并继续使用pkg install:

# pkg install ImageMagick-nox11-6.9.4.3,1.txz 
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
Updating database digests format: 100%
pkg: ImageMagick-nox11 has a missing dependency: perl5
pkg: ImageMagick-nox11 has a missing dependency: perl5
Checking integrity... done (0 conflicting)
The following 1 package(s) will be affected (of 0 checked):

Installed packages to be UPGRADED:
    ImageMagick-nox11: 6.9.4.1,1 -> 6.9.4.3,1

The process will require 17 KiB more space.

Proceed with this action? [y/N]: y
[litte-j-server.com] [1/1] Upgrading ImageMagick-nox11 from 6.9.4.1,1 to 6.9.4.3,1...
[litte-j-server.com] [1/1] Extracting ImageMagick-nox11-6.9.4.3,1: 100%

所以,它被升级了(FreeBSD甚至说了perl5依赖关系) - 但是如果我再次尝试pkg add --force,它会显示相同的“缺失依赖”。

为什么会显示出来?我该怎么做才能解决这个问题?是不是pkgng安装了包,但仍然说缺少依赖(我可能崩溃了吗?)

P.S。我没有在这里找到任何'pkg'或'pkgng'标签,抱歉,如果我做错了

1 个答案:

答案 0 :(得分:0)

虽然服务器上已明确安装了perl 5.20,但它是从名为perl5.20而非perl5的软件包安装的。后者选择最新批准的perl 5版本。可能在服务器最初构建时,管理员决定在FreeBSD维护者更新perl5标签之前需要5.20。

pkg addpkg install都有-M选项(分别为--accept-missing--ignore-missing)来忽略缺少的依赖关系。尝试:

pkg add --force --accept-missing ImageMagick-nox11-6.9.4.3,1.txz

有关详情,请参阅the manual