如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

brew是mac机上面程序猿非常常用的软件包安装方式,其中有两组命令是需要大家知晓的。分别是:

  • 第一组:brew installbrew uninstall
  • 第二组,brew linkbrew unlink

不过关于第一组brew install命令,比较常用,所以大家可能会比较熟悉。后面的这组brew link命令才是本文要讲述的重点。苏南大叔将以前不久刚刚降级安装的php71为例,说明一下brew link命令。本文的模特范例是php71,这个是本文的前提事项!

预览

brew link相关命令预览:

brew link php71

或者

brew link --overwrite php71

--overwrite参数,就是强制的意思,你懂的。

以php71为例,深入理解brew link命令 - brew_link_php71
以php71为例,深入理解brew link命令(图4-1)

正确的操作就到此为止,后面的都是操作失败后的补救措施。

brew link php71操作失败症状

正常情况下来说,brew link php71并不是需要主动执行的,因为在brew install php71的过程中,就已经默认执行了brew link php71。但是,由于各种各样的权限之类的问题,导致brew link php71操作是失败的。在brew install php71的过程中,就会体现为一个警告信息。

而对于实际的应用上来说,可能表现为:不能识别php命令,不能识别phpize命令,或者不能识别php-config命令。这些问题实际上是很fatal的,会导致一系列的后续错误。比如安装扩展插件识别,或者编译扩展插件失败,composer命令不能使用等问题。

指标不治本操作之识别php命令

为了识别php71的命令行,还是费了点周折的。最终是通过下面的命令成功识别的。-v成功显示php7.1的版本号。

echo 'export PATH="/usr/local/opt/php71/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php71/sbin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile

以php71为例,深入理解brew link命令 - bash_profile_php71
以php71为例,深入理解brew link命令(图4-2)

指标不治本操作之全面修复php,phpize,php-config

请注意:本步骤中描述的内容,治标不治本。仅作应急处理使用。下面的语句并不是推荐执行的,谨记,治标不治本。

  • 请大家看懂下面的语句在做什么之后,再执行。里面有rm -rf操作,头脑要清晰。
  • 如果您要修复的是php72等其它php版本,请注意替换相关字符。
which phpize
sudo rm -rf /usr/local/bin/phpize
which php
sudo rm -rf /usr/local/bin/php
which php-config
sudo rm -rf /usr/local/bin/php-config
sudo pkill -INT -o php-fpm
sudo ln -s /usr/local/opt/php71/bin/phpize /usr/local/bin/phpize
sudo ln -s /usr/local/opt/php71/bin/php /usr/local/bin/php
sudo ln -s /usr/local/opt/php71/bin/php-config /usr/local/bin/php-config
brew services start php71

以php71为例,深入理解brew link命令 - 修复phpize等
以php71为例,深入理解brew link命令(图4-3)

brew link php71操作失败的正确补救措施

sudo chown -R $(whoami) /usr/local

更改权限后,再次重新link操作即可。

brew link php71

以php71为例,深入理解brew link命令 - brew_chown
以php71为例,深入理解brew link命令(图4-4)

苏南大叔在这里解释一下:link操作失败,很可能是权限的问题。而权限问题,就需要用chown或者chmod的方式来解决。解决好权限问题之后,再重新link就可以了。就不用担心php,phpize,php-config的一系列问题了。

小结

brew link大家明白的话,那么brew unlink也就好理解了,反操作而已。对吧?更多brew相关经验文字,苏南大叔推荐您查看下面的链接:https://newsn.net/tag/brew/

 【php】秘籍文章入口,仅传授于有缘之人   php    brew

本站的忠实读者小伙伴,正在阅读下面这些文章:

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
欢迎指正文字或逻辑错误,将会择优在文末列出您的信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!