我正尝试通过 Composer 安装一个需要 PHP 5.6.0 的软件包。我的 MAC 上运行的是 PHP 5.5.31,但 MAMP 运行的是 PHP 7.0。由于该软件包要求的 PHP 版本不符合我的 macOS 版本,因此无法下载。我该如何解决这个问题?
我正尝试通过 Composer 安装一个需要 PHP 5.6.0 的软件包。我的 MAC 上运行的是 PHP 5.5.31,但 MAMP 运行的是 PHP 7.0。由于该软件包要求的 PHP 版本不符合我的 macOS 版本,因此无法下载。我该如何解决这个问题?
MAMP的PHP位置在这里:
/Applications/MAMP/bin/php/php7x.x/bin/
默认的OSX PHP位于
/usr/bin/php
/usr/bin
是默认的PATH
变量。
如果您想让OSX使用MAMP版本,需要将/Applications/MAMP/bin/php/php7.x.x/bin/添加到您的PATH变量中。
只需在终端中编辑~/.bash_profile并键入
vim ~/.bash_profile
如果找不到~/.bash_profile,则必须创建一个
touch ~/.bash_profile
然后将以下行添加到文件末尾:
export PATH=/Applications/MAMP/bin/php/php7.x.x/bin/:$PATH
只需查看MAMP的正确版本,并将上面示例中的x.x替换为该正确数字即可。 (例如7.0.2)
如果一切正常,请重新启动terminal.app并再次执行php -v
。现在您应该看到新版本。
之后尝试再次安装composer包! 祝好运
对我来说很容易:
首先备份系统的php,命令为:sudo mv /usr/bin/php /usr/bin/~php
然后通过该命令将符号链接从/Applications/MAMP/bin/php/phpX.x.x/bin/php创建到/usr/bin/php:sudo ln -s /Applications/MAMP/bin/php/phpX.x.x/bin/php /usr/bin/php
。现在你可以随处使用mamp php(包括其配置)了。
export PATH=/Applications/MAMP/bin/php/php7.0.0/bin/:$PATH
php -v
命令时,显示的是哪个版本的php?如果显示的是osx版本而不是mamp版本,我建议您将mamp版本设置为默认的php版本。请参考这里https://dev59.com/om855IYBdhLWcg3wlFWP。 - Peterphp -v
命令时,返回的版本是 5.5.31。 - Packywhich php
时显示MAMP PHP,但Composer却选择了Mac默认的PHP。我不得不明确地将export PATH
(下面的答案)添加到Composer中以获取MAMP的。 - vijaycs85