“pecl.php.net/imagick”包没有可用的版本

问题描述 投票:0回答:2

首先,如果我发布了重复的问题,我很抱歉。我知道有一些关于在本地计算机上安装 imagick 的线程。但我真的找不到任何方法来修复我的 php 安装。

我想安装 PHP 8.0 的 imagick 扩展,但是当我尝试使用

pecl install imagick
命令安装时,出现以下错误:

No releases available for package "pecl.php.net/imagick"
install failed

我正在 Macbook 上进行开发。全新安装 Laravel Valet 安装。安装了我的 PHP 8.0(使用自制程序,通过 valet)并尝试执行

pecl install imagick

我已经用

brew reinstall imagick
&
brew reinstall pkg-config
重新安装了 imagick 和 pkg-config。以该顺序。之后,我仍然收到相同的报告。

我已经跑了

brew doctor
,但不认为那里有任何有用的东西可以帮助我。只有一些损坏的符号链接和 Unbreed 头文件。如果您愿意,我可以上传完整的输出,但有人需要帮助/告诉我如何上传这么大的片段。只是把它放在这个问题而不格式化似乎有点太多了。


可能重复,到目前为止对我没有帮助:

php macos homebrew pecl php-8
2个回答
1
投票

对我来说,它解决了

sudo pecl install imagick
但这可能不是首选路线。


0
投票

如果您使用的是类似 Linux 的操作系统,需要提升权限才能安装软件包,则接受的答案(由 Dylan Schoenmakers 提供)是正确的。

但是,有时您可能需要为不再主流或不再维护的 PHP 版本(即遗留项目)安装 pecl 软件包,并且最新版本的 pecl 软件包可能不支持该 PHP 版本。在这种情况下,需要该软件包的旧版本。当我处理遗留项目并尝试在容器上安装包时,这种情况发生在我身上。在这种情况下,请尝试提到的链接答案可能是重复的。

如果使用容器,请确保镜像上可以使用 phpize,否则会抛出错误。一个包含 phpize 的容器文件示例如下所示(基于 alpine 图像):

FROM php:7.2-fpm-alpine
RUN apk update \
    && apk add --no-cache \
    bash \
    curl \
    icu-libs \
    icu-dev \
    imagemagick \
    imagemagick-libs \
    imagemagick-dev \
    libpng-dev \
    libxml2-dev \
    libzip-dev \
    openldap-dev \
    openssl \
    $PHPIZE_DEPS \
    vim \
    wget \
    zip

RUN wget --no-check-certificate https://pecl.php.net/get/imagick-3.7.0.tgz && pecl install --offline ./imagick-3.7.0.tgz

COPY ./project /var/www/html

ENTRYPOINT ["/home/fpm-entrypoint"]

也感谢Raptor

© www.soinside.com 2019 - 2024. All rights reserved.