macOS High Sierra下安装Laravel Valet遇问题求助
我完全懂你的困惑——按流程走完Homebrew和PHP的安装后,本以为直接执行composer global require laravel/valet就能顺利推进,结果却蹦出「command not found」,换谁都会纳闷:难道不是装完就该能用吗?
其实问题出在Composer的可执行路径没被系统的PATH环境变量识别,这是个很常见的小坑,给你一步步理清楚解决办法:
为什么会出现这个问题?
通过Homebrew安装php71时,Composer确实会被顺带安装,但它的默认位置(一般是~/.composer/vendor/bin,新版本Composer可能是~/.config/composer/vendor/bin)并没有被自动添加到系统PATH里。终端执行命令时只会在PATH列出的目录里找可执行文件,所以自然找不到composer。
具体解决步骤
确认Composer的实际安装路径
打开终端执行下面的命令,定位Composer的位置:find ~ -name composer -type f你大概率会得到类似
~/.composer/vendor/bin/composer的结果,记好这个路径。把Composer路径添加到系统PATH
根据你用的Shell(macOS High Sierra默认是bash,如果你手动换过zsh就对应修改):用bash的话,编辑
~/.bash_profile:nano ~/.bash_profile在文件末尾加上一行:
export PATH="$HOME/.composer/vendor/bin:$PATH"按
Ctrl+O保存,Ctrl+X退出,再执行source ~/.bash_profile让配置立即生效。用zsh的话,编辑
~/.zshrc:nano ~/.zshrc同样添加上面的路径配置,然后执行
source ~/.zshrc生效。
验证配置并继续安装Valet
执行composer --version,如果能正常显示Composer的版本号,说明路径配置成功了。这时候再跑:composer global require laravel/valet就能顺利安装Laravel Valet了。
最后补一句:你之前觉得「添加路径前命令应该可正常执行」其实是个小误解——Homebrew装PHP时只会帮你装上Composer,但不会自动帮你配置系统PATH,这步需要我们手动补全~
内容的提问来源于stack exchange,提问作者Yosef

