在 OS X 上安装 CakePHP w/ Composer 失败,lib-icu ^62.1 安装了错误的版本

Install CakePHP on OS X w/ Composer Fails, lib-icu ^62.1 has the wrong version installed

我正在尝试通过 OS X 上的 composer 添加一个包到我的 CakePHP 应用程序...

└──╼ composer require nbobtc/bitcoind-php
Using version ^2.1 for nbobtc/bitcoind-php
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
- The requested linked library lib-icu ^62.1 has the wrong version installed, try upgrading the intl extension.

我已经用 brew install php@7.3 安装了 php 7.3 并用 brew link php@7.3 --force

链接
└──╼ php --version
PHP 7.3.9 (cli) (built: Sep  8 2019 14:56:33) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.9, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.9, Copyright (c) 1999-2018, by Zend Technologies

我安装了国际扩展...

└──╼ php -m | grep intl
intl

我安装了icu4c库

└──╼ brew install icu4c

Warning: icu4c 64.2 is already installed and up-to-date

我也链接了icu4c库

 └──╼ brew link icu4c --force

如何升级国际包?

我对 intl、icu、composer 和 cake 也有类似的问题。这并不简单,但我想我可以为您提供一些信息。

首先,我认为你有 composer ponting 到本地 php,而不是用自制软件安装的那个,因为你仍然得到这个错误版本的 icu。

其次,我想使用原生 php 和 macOS Mojave 附带的 apache。除了官方 php 站点通知 intl,自 PHP 5.3.0 以来,它与 PHP.

捆绑在一起

但是,在 Mac OS Mojave 上 PHP 7.1.24 的本机安装中缺少它。

然后我从 php.net 下载了 PHP 7.1,安装了 XCode 命令行工具、ICU (http://site.icu-project.org/)、Autoconf,重新安装了开发者工具头文件,然后最终使用 phpize.

安装了国际扩展

重要提示:您必须禁用 SIP。如果对你有用,请告诉我,好吗?